.tag-filter{width:100%;position:relative}[data-v-sidebar-header]{z-index:10;background:var(--vocs-color-background-primary);margin-bottom:0;padding-bottom:1rem;position:sticky;top:0}:root:not([data-vocs-theme=dark]) .tag-filter-toggle{color:#838383;border:1px solid #908f8f}:root:not([data-vocs-theme=dark]) .clear-filters{color:#f61a1a}:root:not([data-vocs-theme=dark]) .tag-filter-dropdown{background-color:#94b3df}:root:not([data-vocs-theme=dark]) .tag-filter-header h3{color:#00000096}:root:not([data-vocs-theme=dark]) .tag-filter-search input{background-color:#ffffff4a}.tag-filter-toggle{background:var(--vocs-background-color-surface);color:#a3a3a4;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #2b292d;border-radius:.75rem;align-items:center;gap:8px;width:100%;height:2.5rem;padding:8px 16px;font-size:.875rem;transition:all .2s;display:flex}.tag-filter-toggle:hover{background-color:var(--vocs-background-color-surfaceTint);color:var(--vocs-text-color-primary)}.tag-filter-toggle.active{border-color:#fff}.tag-filter-toggle.has-filters{color:#fff}.filter-count{color:#fff;text-align:center;background:#4339db;border-radius:10px;min-width:18px;padding:2px 6px;font-size:12px}.sidebar-tag-indicators{align-items:center;gap:2px;margin-left:6px;display:inline-flex}.sidebar-tag-indicator{border:1px solid #ffffff4d;border-radius:2px;width:8px;height:8px;display:inline-block}.tag-filter-dropdown{z-index:10000;background:#1b1b1b;border:1px solid #fff3;border-radius:.75rem;min-width:250px;max-width:320px;margin-top:2px;padding:12px;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 25px #0000004d}.tag-filter-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.tag-filter-header h3{color:#e5e7eb;margin:0;font-size:14px;font-weight:600}.clear-filters{color:#f87171;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:12px;transition:background-color .2s}.clear-filters:hover{background:#f871711a}.tag-filter-search{margin-bottom:12px;display:none}.tag-filter-search input{color:#e5e7eb;background:#ffffff0d;border:1px solid #fff3;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:14px;transition:all .2s}.tag-filter-search input:focus{background:#ffffff1a;border-color:#60a5fa}.tag-filter-search input::placeholder{color:#9ca3af}.tag-filter-list{flex-direction:column;gap:4px;max-height:120px;display:flex;overflow-y:auto}.tag-filter-item{cursor:pointer;align-items:center;gap:6px;padding:2px 0;display:flex}.tag-filter-item input[type=checkbox]{accent-color:#60a5fa;width:16px;height:16px}.tag-filter-badge{color:#fff;-webkit-user-select:none;user-select:none;border-radius:8px;padding:2px 6px;font-size:13px;font-weight:500}.tag-filter-backdrop{z-index:999;pointer-events:none;position:fixed;inset:0}:root:not([data-vocs-theme=dark]) .tag-filter-toggle{color:var(--vocs-text-color-secondary);border-color:#908f8f}:root:not([data-vocs-theme=dark]) .tag-filter-toggle:hover{background:var(--vocs-background-color-surfaceTint);color:#1e1e1e;border-color:#303030}:root:not([data-vocs-theme=dark]) .tag-filter-toggle.active{background:#0000001a;border-color:#0006}:root:not([data-vocs-theme=dark]) .tag-filter-toggle.has-filters{color:#2563eb;border-color:#2563eb}:root:not([data-vocs-theme=dark]) .filter-count{background:#4339db}:root:not([data-vocs-theme=dark]) .tag-filter-dropdown{background:#fff;border-color:#0003;box-shadow:0 10px 25px #00000026}:root:not([data-vocs-theme=dark]) .tag-filter-header h3{color:#374151}:root:not([data-vocs-theme=dark]) .tag-filter-header{border-bottom-color:#0000001a}:root:not([data-vocs-theme=dark]) .clear-filters{color:#dc2626}:root:not([data-vocs-theme=dark]) .clear-filters:hover{background:#dc26261a}:root:not([data-vocs-theme=dark]) .tag-filter-search input{color:#374151;background:#0000000d;border-color:#0003}:root:not([data-vocs-theme=dark]) .tag-filter-search input:focus{background:#0000001a;border-color:#2563eb}:root:not([data-vocs-theme=dark]) .tag-filter-search input::placeholder{color:#6b7280}:root:not([data-vocs-theme=dark]) .sidebar-tag-indicator{border-color:#0000004d}@media (width<=768px){.tag-filter-toggle{padding:6px 12px;font-size:13px}}.contribute-footer{text-align:center;background-color:#0000;border:none;border-radius:0;margin:1.5rem 0 1rem;padding:.75rem 0}.contribute-footer-content{max-width:500px;margin:0 auto}.contribute-footer-title{color:#4339db;margin-bottom:.5rem;font-size:1.3rem;font-weight:600}.contribute-footer-text{color:var(--fg);margin-bottom:.25rem;font-size:1.1rem;line-height:1.3}.contribute-footer-subtitle{color:#6c757d;margin-bottom:.75rem;font-size:1rem;line-height:1.3}.contribute-footer-link{color:#4339db;text-decoration:underline;transition:color .3s}.contribute-footer-link:hover{color:#352eb0}.contribute-footer-button{color:#fff;background-color:#4339db;border-radius:4px;margin-top:.25rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.contribute-footer-button:hover{color:#fff;background-color:#352eb0;border-color:#352eb0;transform:translateY(-2px);box-shadow:0 4px 8px #4339db33}:root[data-vocs-theme=dark] .contribute-footer{background-color:#0000;border:none}:root[data-vocs-theme=dark] .contribute-footer-title{color:#6b63e8}:root[data-vocs-theme=dark] .contribute-footer-subtitle{color:#a8adb2}:root[data-vocs-theme=dark] .contribute-footer-link{color:#6b63e8}:root[data-vocs-theme=dark] .contribute-footer-link:hover{color:#8c85f0}:root[data-vocs-theme=dark] .contribute-footer-button{color:#fff;background-color:#6b63e8;border-color:#6b63e8}:root[data-vocs-theme=dark] .contribute-footer-button:hover{color:#1a1a1a;background-color:#8c85f0;border-color:#8c85f0;box-shadow:0 4px 8px #6b63e84d}:root{--badge-transition:cubic-bezier(.34, 1.56, .64, 1);--badge-easing:cubic-bezier(.4, 0, .2, 1)}.badge-display{opacity:1;transition:all .6s var(--badge-easing);position:relative;transform:translateY(0);overflow:visible!important}.badge-display.visible{opacity:1;transform:translateY(0)}.badge-summary{border:2px solid var(--theme-popup-border);background:linear-gradient(135deg,#80808040,#0000);border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;display:inline-flex;box-shadow:0 2px 8px #00000014}.badge-count{color:var(--fg);font-size:1.5rem;font-weight:800;line-height:1}.badge-count-label{text-transform:uppercase;letter-spacing:.05em;color:var(--fg);opacity:.7;font-size:.75rem;font-weight:600}.badges-container{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex;overflow:visible!important}.badges-container.stack{flex-direction:column;align-items:stretch}.badge-overflow-chip{border:2px dashed var(--theme-popup-border);background:var(--quote-bg,#0000000d);width:48px;height:48px;color:var(--fg);opacity:.7;cursor:default;z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:.6875rem;font-weight:700;transition:opacity .2s,border-color .2s;display:flex;position:relative}.badge-overflow-chip:hover{opacity:1;z-index:99999;border-color:#80808040}.badge-overflow-chip:before{content:"";height:14px;position:absolute;bottom:100%;left:-8px;right:-8px}.badge-overflow-tooltip{z-index:999999;opacity:0;visibility:hidden;background:linear-gradient(135deg,#1f2937 0%,#111827 100%);border-radius:10px;width:max-content;padding:.625rem;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059,0 0 0 1px #ffffff1a}.badge-overflow-tooltip:before{content:"";border:7px solid #0000;border-top-color:#111827;position:absolute;top:100%;left:50%;transform:translate(-50%)}.badge-overflow-chip:hover .badge-overflow-tooltip,.badge-overflow-tooltip:hover{opacity:1;visibility:visible}.badge-overflow-tooltip-grid{justify-items:center;gap:.5rem;display:grid}.badge-overflow-tooltip-grid[data-cols="1"]{grid-template-columns:repeat(1,48px)}.badge-overflow-tooltip-grid[data-cols="2"]{grid-template-columns:repeat(2,48px)}.badge-overflow-tooltip-grid[data-cols="3"]{grid-template-columns:repeat(3,48px)}.badge-overflow-tooltip-grid[data-cols="4"]{grid-template-columns:repeat(4,48px)}.badge-overflow-tooltip .badge-wrapper{z-index:1}.badge-overflow-tooltip .badge-wrapper:hover{z-index:99999}:root:not([data-vocs-theme=dark]) .badge-overflow-tooltip{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);box-shadow:0 8px 24px #0f172a1f,0 0 0 1px #0f172a14}:root:not([data-vocs-theme=dark]) .badge-overflow-tooltip:before{border-top-color:#fff}.badge-wrapper{opacity:1;z-index:1;position:relative}.badge-wrapper:hover{z-index:99999}.badge-card{background:linear-gradient(135deg, var(--sidebar-bg) 0%, var(--quote-bg,#0000000d) 100%);border:3px solid var(--theme-popup-border);cursor:pointer;width:72px;height:72px;transition:all .4s var(--badge-easing);border-radius:18px;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible;box-shadow:0 4px 12px #00000014}.badge-display.compact .badge-card{border-width:2px;border-radius:12px;width:48px;height:48px}.badge-display.compact .badge-tier-indicator{display:none}.badge-wrapper.role .badge-card{border-width:3px;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633,0 4px 16px #3b82f64d}.badge-wrapper.milestone .badge-card{border-width:3px;border-color:#10b981;box-shadow:0 0 0 2px #10b98133,0 4px 16px #10b9814d}.badge-wrapper.activity .badge-card{border-width:3px;border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2433,0 4px 16px #fbbf244d}.badge-wrapper.tier-legendary .badge-card{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.badge-wrapper.tier-epic .badge-card{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 100%)}.badge-wrapper.tier-rare .badge-card{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.badge-wrapper.tier-common .badge-card{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%)}.badge-wrapper:hover .badge-card{transform:translateY(-6px)scale(1.08)}.badge-wrapper.role:hover .badge-card{border-color:#2563eb;box-shadow:0 0 0 3px #3b82f64d,0 8px 24px #3b82f666}.badge-wrapper.milestone:hover .badge-card{border-color:#059669;box-shadow:0 0 0 3px #10b9814d,0 8px 24px #10b98166}.badge-wrapper.activity:hover .badge-card{border-color:#f59e0b;box-shadow:0 0 0 3px #fbbf244d,0 8px 24px #fbbf2466}.badge-wrapper.newly-earned .badge-card{box-shadow:0 0 0 2px var(--badge-color), 0 4px 12px #00000026}.badge-wrapper.newly-earned:hover .badge-card{transform:translateY(-6px)scale(1.08)}.badge-wrapper.newly-earned.activity:hover .badge-card{border-color:#f59e0b;box-shadow:0 0 0 3px #fbbf244d,0 8px 24px #fbbf2466}.new-indicator{border:3px solid var(--sidebar-bg);z-index:10;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 2px #fbbf24,0 2px 8px #fbbf2480}.pulse-dot{background:#fff;border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulseGlow}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}.badge-tier-indicator{background:var(--sidebar-bg);border:2px solid var(--badge-color);z-index:5;width:24px;height:24px;transition:transform .3s var(--badge-easing);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;display:flex;position:absolute;bottom:-4px;right:-4px;box-shadow:0 2px 6px #00000026}.badge-wrapper:hover .badge-tier-indicator{transform:scale(1.15)rotate(12deg)}.badge-icon-container{width:45px;height:45x;transition:transform .4s var(--badge-easing);filter:drop-shadow(0 2px 4px #0000001a);position:relative}.badge-wrapper:hover .badge-icon-container{filter:drop-shadow(0 4px 8px #0003)}.badge-icon-container svg{pointer-events:none;width:100%;height:100%}.badge-tooltip{color:#fff;z-index:999999;pointer-events:none;opacity:0;visibility:hidden;background:linear-gradient(135deg,#1f2937 0%,#111827 100%);border-radius:10px;width:220px;max-width:220px;padding:.875rem;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059,0 0 0 1px #ffffff1a}:root:not([data-vocs-theme=dark]) .badge-tooltip{color:#111827;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #0f172a0f;box-shadow:0 8px 24px #0f172a1f,0 0 0 1px #0f172a14}:root:not([data-vocs-theme=dark]) .badge-tooltip:before{border-top-color:#fff}:root:not([data-vocs-theme=dark]) .tooltip-description{color:#4b5563}:root:not([data-vocs-theme=dark]) .tooltip-footer{border-top-color:#0f172a1a}:root:not([data-vocs-theme=dark]) .tooltip-date{color:#6b7280}.badge-wrapper:hover .badge-tooltip{opacity:1;visibility:visible}.badge-tooltip:before{content:"";border:8px solid #0000;border-top-color:#111827;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.tooltip-header strong{word-wrap:break-word;flex:1;font-size:.875rem;font-weight:700;line-height:1.3}.tier-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:.2rem .4rem;font-size:.5625rem;font-weight:800}.tier-badge.tier-legendary{color:#78350f;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%)}.tier-badge.tier-epic{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#9333ea 100%)}.tier-badge.tier-rare{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.tier-badge.tier-common{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.tooltip-description{color:#d1d5db;word-wrap:break-word;margin-bottom:.625rem;font-size:.75rem;line-height:1.4}.tooltip-footer{border-top:1px solid #ffffff1a;padding-top:.5rem}.tooltip-date{color:#9ca3af;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.6875rem;display:flex}.badges-container.tooltip-below .badge-tooltip{top:calc(100% + 12px);bottom:auto}.badges-container.tooltip-below .badge-tooltip:before{border-top-color:#0000;border-bottom-color:#1f2937;top:auto;bottom:100%}.new-badge-text{color:#78350f;text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border-radius:4px;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.5625rem;font-style:normal;font-weight:800;display:inline-flex}.badge-main{transform-origin:50%}@keyframes badgePulse{0%,to{opacity:1}50%{opacity:.85}}.badge-glow{transform-origin:50%}@keyframes glowPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.08)}}.badge-ring{transform-origin:50%}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes accentFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.badge-core{transform-origin:50%}@keyframes coreExpand{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}:root[data-vocs-theme=dark] .badge-card{background:linear-gradient(135deg, var(--sidebar-bg,#1f2937) 0%, var(--quote-bg,#ffffff0d) 100%);border-color:var(--theme-popup-border,#374151)}:root[data-vocs-theme=dark] .badge-wrapper.role .badge-card{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fad9,2px 2px 3px #60a5fa59}:root[data-vocs-theme=dark] .badge-wrapper.milestone .badge-card{border-color:#34d399;box-shadow:0 0 0 2px #34d399b3,2px 2px 3px #34d39959}:root[data-vocs-theme=dark] .badge-wrapper.activity .badge-card{border-color:#fcd34d;box-shadow:0 0 0 2px #fcd34db3,2px 2px 3px #fcd34d59}:root[data-vocs-theme=dark] .badge-wrapper.tier-legendary .badge-card{background:linear-gradient(135deg,#fbbf2433 0%,#f59e0b26 100%)}:root[data-vocs-theme=dark] .badge-wrapper.tier-epic .badge-card{background:linear-gradient(135deg,#a855f733 0%,#9333ea26 100%)}:root[data-vocs-theme=dark] .badge-wrapper.tier-rare .badge-card{background:linear-gradient(135deg,#3b82f633 0%,#2563eb26 100%)}:root[data-vocs-theme=dark] .badge-wrapper.tier-common .badge-card{background:linear-gradient(135deg,#10b98133 0%,#05966926 100%)}:root[data-vocs-theme=dark] .badge-wrapper.role:hover .badge-card{border-color:#93c5fd;box-shadow:0 0 0 3px #60a5fa,0 8px 24px #60a5fa73}:root[data-vocs-theme=dark] .badge-wrapper.milestone:hover .badge-card{border-color:#6ee7b7;box-shadow:0 0 0 3px #34d399,0 8px 24px #34d39973}:root[data-vocs-theme=dark] .badge-wrapper.activity:hover .badge-card{border-color:#fde68a;box-shadow:0 0 0 3px #fcd34d,0 8px 24px #fcd34d73}:root[data-vocs-theme=dark] .new-indicator{border-color:var(--sidebar-bg,#1f2937)}:root[data-vocs-theme=dark] .badge-tier-indicator{background:var(--sidebar-bg,#1f2937)}@media (width<=768px){.badge-card{width:56px;height:56px}.badge-icon-container,.badge-display.compact .badge-card{width:40px;height:40px}.badge-display.compact .badge-icon-container{width:28px;height:28px}.badge-tooltip{min-width:220px;max-width:280px;font-size:.875rem}.badges-container{gap:.5rem}}:root{--color-primary:#4339db;--color-primary-dark:#3730a3;--color-primary-text:#fff;--color-success:#10b981;--color-success-dark:#059669;--color-success-text:#fff;--color-partial:#f59e0b;--color-partial-dark:#d97706;--color-partial-text:#fff;--color-neutral:#6b7280;--color-neutral-dark:#4b5563;--color-neutral-light:#9ca3af;--color-neutral-text:#fff;--color-text-muted:#9ca3af;--color-text-primary:#e5e7eb;--color-text-strong:#fff;--bg-card:#ffffff0d;--bg-state-no:#ffffff0d;--border-card:#ffffff1a;--border-state-no:#fff3}:root:not([data-vocs-theme=dark]){--color-text-muted:#6b7280;--color-text-primary:#1f2937;--color-text-strong:#202020;--bg-card:#00000005;--bg-state-no:#00000005;--border-card:#00000014;--border-state-no:#0003}.control-list{--card-bg:var(--bg-card);--card-border:var(--border-card);--card-text:var(--color-text-primary);--card-muted:var(--color-text-muted);--card-strong:var(--color-text-strong);--state-no-bg:var(--bg-state-no);--state-no-border:var(--border-state-no);--state-yes-bg:var(--color-success);--state-yes-border:var(--color-success-dark);--state-yes-text:var(--color-success-text);--state-partial-bg:var(--color-partial);--state-partial-border:var(--color-partial-dark);--state-partial-text:var(--color-partial-text);--state-na-bg:var(--color-neutral);--state-na-border:var(--color-neutral-dark);--state-na-text:var(--color-neutral-text)}:root:not([data-vocs-theme=dark]) .control-list{--state-na-bg:var(--color-neutral-light);--state-na-border:var(--color-neutral)}.control-card{background:var(--card-bg);border-color:var(--card-border)}.control-title{color:var(--card-strong)}.control-id{color:var(--card-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875em;font-weight:500}.control-id-sep{color:var(--card-muted);margin:0 2px;font-weight:400}.control-description{color:var(--card-muted)}.control-baselines{border-left:3px solid var(--color-primary);background:#4339db0d;border-radius:0 6px 6px 0;margin-top:10px;padding:10px 14px}:root:not([data-vocs-theme=dark]) .control-baselines{background:#4339db0a}.control-baselines-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-bottom:6px;font-size:12px;font-weight:600}.control-baselines-list{margin:0;padding:0;list-style:none}.control-baselines-list li{color:var(--color-text-primary);padding:3px 0 3px 18px;font-size:14px;line-height:1.6;position:relative}.control-baselines-list li:before{content:"";background:var(--color-primary);opacity:.8;border-radius:50%;width:5px;height:5px;position:absolute;top:12px;left:4px}.control-info-btn{border-color:var(--card-border);color:var(--card-text)}.control-popup-strong{color:var(--card-strong)}.control-expanded-content{max-height:0;transition:max-height .3s ease-out;overflow:hidden}.control-expanded-content.expanded{max-height:800px;transition:max-height .3s ease-in}.control-expanded-inner{border-color:var(--card-border);color:var(--card-muted);margin-left:24px}.control-expanded-inner ul{margin:4px 0;padding-left:20px;list-style-type:disc;list-style-position:outside}.control-expanded-inner li{margin-bottom:2px}.control-state-btn{cursor:pointer;border:2px solid;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.control-state-no{background:var(--state-no-bg);border-color:var(--state-no-border);color:#0000}.control-state-yes{background:var(--state-yes-bg);border-color:var(--state-yes-border);color:var(--state-yes-text)}.control-state-partial{background:var(--state-partial-bg);border-color:var(--state-partial-border);color:var(--state-partial-text)}.control-state-na{background:var(--state-na-bg);border-color:var(--state-na-border);color:var(--state-na-text)}.control-state-btn:hover{opacity:.8}.cert-section-toggle{border-color:var(--border-card);color:var(--color-text-primary);flex-shrink:0}.cert-section-toggle:hover{opacity:.7}.cert-section-content{grid-template-rows:0fr;transition:grid-template-rows .3s ease-out;display:grid}.cert-section-content.expanded{grid-template-rows:1fr}.cert-section-content>*{overflow:hidden}.section-progress{flex-shrink:0;align-items:center;gap:8px;margin-right:12px;display:flex}@media (width<=640px){.section-progress-bar{display:none}}.section-progress-bar{background:var(--border-card);border-radius:4px;width:80px;height:8px;display:flex;overflow:hidden}.section-progress-fill-yes{background:var(--color-success);height:100%;transition:width .3s}.section-progress-fill-partial{background:var(--color-partial);height:100%;transition:width .3s}.section-progress-fill-na{background:var(--color-neutral);height:100%;transition:width .3s}:root:not([data-vocs-theme=dark]) .section-progress-fill-na{background:var(--color-neutral-light)}.section-progress-text{color:var(--color-text-muted);text-align:right;min-width:32px;font-size:12px;font-weight:600}.cert-list-container{flex-direction:column;gap:16px;display:flex}.cert-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.cert-action-btn{cursor:pointer;border:1px solid;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s}.cert-export-btn{background:var(--color-primary);border-color:var(--color-primary-dark);color:var(--color-primary-text)}.cert-export-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 3px 6px #4339db4d}.cert-export-btn:active{transform:translateY(0)}.cert-import-btn{border-color:var(--border-card);color:var(--color-text-primary);background:0 0}.cert-import-btn:hover{background:var(--bg-card);border-color:var(--color-text-primary)}.cert-import-btn:active{transform:scale(.98)}.cert-print-btn{border-color:var(--border-card);color:var(--color-text-primary);background:0 0;align-items:center;text-decoration:none;display:inline-flex}.cert-print-btn:hover{background:var(--bg-card);border-color:var(--color-text-primary)}.cert-print-btn:active{transform:scale(.98)}.cert-error-message{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;padding:12px 16px;font-size:14px;font-weight:500}:root:not([data-vocs-theme=dark]) .cert-error-message{color:#dc2626;background:#ef44440d;border-color:#ef444433}.control-inputs-section{border-color:var(--border-card)}.control-label{color:var(--card-strong)}.control-textarea{border:1px solid var(--border-card);background:var(--bg-card);width:100%;color:var(--card-text);resize:vertical;border-radius:4px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .2s}.control-textarea:focus{border-color:var(--color-primary);outline:none}.control-textarea::placeholder{color:var(--card-muted);opacity:.6}@media (width<=640px){.cert-actions{flex-direction:column;align-items:stretch}.cert-action-btn{justify-content:center;width:100%}}:root{--cert-incident-bg:#fee2e2;--cert-incident-text:#991b1b;--cert-multisig-bg:#dbeafe;--cert-multisig-text:#1e40af;--cert-treasury-bg:#d1fae5;--cert-treasury-text:#065f46;--cert-workspace-bg:#e9d5ff;--cert-workspace-text:#6b21a8;--cert-dns-bg:#fed7aa;--cert-dns-text:#9a3412}.certified-protocols{--card-border:var(--border-card);--card-text:var(--color-text-primary);--card-bg:var(--bg-card);border:2px solid var(--card-border);background:var(--card-bg);grid-template-columns:1fr;margin:2rem 0;display:grid}@media (width>=425px){.certified-protocols{grid-template-columns:repeat(2,1fr)}}@media (width>=600px){.certified-protocols{grid-template-columns:repeat(3,1fr)}}.protocol-card{cursor:pointer;border-bottom:2px solid var(--card-border);border-right:2px solid var(--card-border);flex-direction:column;margin-bottom:-1px;margin-right:-1px;padding:1.5rem;display:flex}.protocol-header{color:inherit;align-items:center;margin-bottom:1rem;text-decoration:none;display:flex}.protocol-header:hover .protocol-name{text-decoration:underline}.protocol-logo{object-fit:cover;border-radius:10%;flex-shrink:0;width:3rem;height:3rem;margin-right:.75rem}.protocol-name{color:var(--card-text);font-size:1.5rem;font-weight:500}.cert-badges{flex-wrap:wrap;display:flex}.cert-badge{border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;margin-left:-.5rem;font-size:.75rem;font-weight:700;transition:transform .2s;display:flex;box-shadow:0 2px 4px #0006,0 1px 2px #0003}.cert-badge:first-child{margin-left:0}.cert-badge:hover{z-index:1;position:relative;transform:scale(1.1)}.sfc-ir{background:var(--cert-incident-bg);color:var(--cert-incident-text)}.sfc-ms{background:var(--cert-multisig-bg);color:var(--cert-multisig-text)}.sfc-tro{background:var(--cert-treasury-bg);color:var(--cert-treasury-text)}.sfc-ws{background:var(--cert-workspace-bg);color:var(--cert-workspace-text)}.sfc-dns{background:var(--cert-dns-bg);color:var(--cert-dns-text)}.sdlc-wrap{--color-primary:#4339db;--color-text-strong:#fff;--color-text-muted:#9ca3af;--bg-card:#ffffff0d;--border-card:#ffffff1a;--sdlc-loop-label-bg:#1b1b1b;max-width:860px;margin:0 auto}:root:not([data-vocs-theme=dark]) .sdlc-wrap{--color-text-strong:#202020;--color-text-muted:#6b7280;--bg-card:#00000005;--border-card:#00000014;--sdlc-loop-label-bg:#fff}.sdlc-caption{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;font-size:13px;display:flex}.sdlc-caption-legend{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.sdlc-caption-item{align-items:center;gap:6px;font-size:12px;display:inline-flex}.sdlc-caption-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.sdlc-pipeline-vertical{--sdlc-loop-gutter:42px;padding-left:var(--sdlc-loop-gutter);display:flex;position:relative}.sdlc-loop{width:var(--sdlc-loop-gutter);color:var(--color-text-muted);pointer-events:none;position:absolute;top:24px;bottom:24px;left:0}.sdlc-loop-line{opacity:.55;border-left:1.2px dashed;width:0;position:absolute;top:0;bottom:12px;left:14px}.sdlc-loop-arrow-bottom{width:14px;height:10px;color:inherit;position:absolute;bottom:0;left:7px}.sdlc-loop-label{transform-origin:50%;letter-spacing:.04em;white-space:nowrap;color:var(--color-text-muted);background:var(--sdlc-loop-label-bg);opacity:.9;padding:2px 6px;font-size:11px;position:absolute;top:50%;left:14px;transform:translate(-50%,-50%)rotate(-90deg)}.sdlc-stage-list{flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.sdlc-stage-row{flex-direction:column;align-items:stretch;display:flex}.sdlc-stage-card-wrap{width:100%}.sdlc-stage-card{background:var(--bg-card);border:1.5px solid var(--border-card);cursor:pointer;border-radius:10px;outline:none;align-items:center;gap:20px;width:100%;padding:18px 22px;transition:border-color .15s,box-shadow .15s;display:flex}.sdlc-stage-card:hover,.sdlc-stage-card:focus-visible{border-color:var(--color-primary)}.sdlc-stage-card:focus-visible{box-shadow:0 0 0 3px #4339db40}.sdlc-stage-card.selected{border-color:var(--color-primary);border-width:2px;padding:17px 21px}.sdlc-stage-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sdlc-stage-index{letter-spacing:.1em;color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px}.sdlc-stage-title{color:var(--color-text-strong);font-size:1.25rem;font-weight:700;line-height:1.35}.sdlc-stage-subtitle{color:var(--color-text-muted);font-size:.9rem;line-height:1.45}.sdlc-stage-constellation{border-left:1px solid var(--border-card);flex-direction:column;flex-shrink:0;justify-content:center;align-self:stretch;gap:8px;padding:4px 2px 4px 12px;display:flex}.sdlc-dot{border:1.5px solid var(--bg-card);cursor:pointer;border-radius:50%;outline:none;flex-shrink:0;width:14px;height:14px;padding:0;transition:transform .1s,box-shadow .1s}.sdlc-dot:hover,.sdlc-dot:focus-visible{transform:scale(1.3)}.sdlc-dot:focus-visible{box-shadow:0 0 0 2px var(--color-primary)}.sdlc-dot.selected{box-shadow:0 0 0 2px var(--color-text-strong);transform:scale(1.3)}.sdlc-stage-connector{height:34px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.sdlc-stage-arrow{width:18px;height:26px;display:block}.sdlc-detail{background:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;margin-top:24px;padding:22px 26px;animation:.2s ease-out sdlc-slide-in}@keyframes sdlc-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sdlc-detail-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.sdlc-detail-eyebrow{letter-spacing:.08em;color:var(--color-text-muted);text-transform:uppercase;margin:0 0 2px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px}.sdlc-detail-title{color:var(--color-text-strong);margin:0 0 4px;font-size:1.25rem;font-weight:700;line-height:1.35}.sdlc-detail-subtitle{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.45}.sdlc-detail-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:22px;line-height:1;transition:color .15s}.sdlc-detail-close:hover{color:var(--color-text-strong)}.sdlc-detail-purpose{color:var(--color-text-muted);margin:10px 0 16px;font-size:14px;line-height:1.6}.sdlc-detail-columns{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px;display:grid}.sdlc-detail-col h4{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-strong);margin:0 0 10px;font-size:12px;font-weight:700}.sdlc-threat-list,.sdlc-defense-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.sdlc-threat-item{border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:10px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.sdlc-threat-item.highlighted{border-color:var(--color-primary);background:#4339db0f}.sdlc-threat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.sdlc-threat-body{flex:1;min-width:0}.sdlc-threat-label{color:var(--color-text-strong);margin:0 0 2px;font-size:13px;font-weight:600;line-height:1.4}.sdlc-threat-desc{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.5}.sdlc-defense-item{color:var(--color-text-strong);align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;transition:color .15s;display:flex}.sdlc-defense-item.highlighted{color:var(--color-primary);font-weight:600}.sdlc-defense-bullet{color:var(--color-primary);flex-shrink:0;font-weight:700}.sdlc-detail-foot{border-top:1px solid var(--border-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.sdlc-detail-links{flex-wrap:wrap;gap:6px 10px;font-size:12px;display:flex}.sdlc-detail-links a{color:var(--color-text-muted);border-bottom:1px dashed var(--border-card);text-decoration:none;transition:color .15s,border-color .15s}.sdlc-detail-links a:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.sdlc-detail-cta{border:1px solid var(--color-primary);color:var(--color-primary);white-space:nowrap;border-radius:4px;padding:7px 16px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;text-decoration:none;transition:background .15s}.sdlc-detail-cta:hover{background:#4339db14}@media (width<=640px){.sdlc-pipeline-vertical{--sdlc-loop-gutter:30px}.sdlc-stage-card{gap:12px;padding:14px}.sdlc-stage-card.selected{padding:13px}.sdlc-stage-title{font-size:1.1rem}.sdlc-stage-subtitle{font-size:.85rem}.sdlc-stage-constellation{gap:6px;padding-left:8px}.sdlc-dot{width:12px;height:12px}.sdlc-detail{padding:18px}.sdlc-detail-columns{grid-template-columns:1fr;gap:16px}.sdlc-detail-foot{flex-direction:column;align-items:flex-start}}@media print{.sdlc-detail-close{display:none}.sdlc-dot,.sdlc-threat-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sdlc-loop-line{opacity:.7}}.gov-checklist-item{--color-primary:#4339db;--color-text-strong:#fff;--color-text-muted:#9ca3af;margin:12px 0 16px}:root:not([data-vocs-theme=dark]) .gov-checklist-item{--color-text-strong:#202020;--color-text-muted:#6b7280}.gov-checklist-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:10px;display:flex}.gov-checklist-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary,#4339db);flex-shrink:0;margin:0;transform:translateY(3px)}.gov-checklist-title{color:var(--color-text-strong);font-weight:700;line-height:1.45}.gov-checklist-item.is-checked .gov-checklist-title{color:var(--color-text-muted);text-decoration:line-through}.gov-checklist-desc{color:var(--color-text-muted);margin:4px 0 0 28px;line-height:1.6}.gov-checklist-desc ul,.gov-checklist-desc ol{margin:.5em 0;padding-left:0;list-style:none}.gov-checklist-desc p{margin:0 0 .6em}.gov-checklist-desc p:last-child{margin-bottom:0}@media (width<=640px){.gov-checklist-desc{margin-left:24px}}.checklist{--color-text-muted:#9ca3af;margin-top:-.25rem}:root:not([data-vocs-theme=dark]) .checklist{--color-text-muted:#6b7280}.checklist ul{margin:.25em 0;padding-left:0;list-style:none!important}.checklist ul ul{margin:0;padding-left:1.25rem;list-style:none!important}.checklist li{margin:4px 0;padding-left:26px;line-height:1.5;position:relative}.checklist li:not(:has(>input[type=checkbox])){padding-left:1rem}.checklist li:not(:has(>input[type=checkbox])):before{content:"•";position:absolute;top:0;left:0}.checklist ul ul li:not(:has(input[type=checkbox])){margin:1px 0}.checklist li input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary,#4339db);margin:0;position:absolute;top:4px;left:0}.checklist li.is-checked{color:var(--color-text-muted);text-decoration:line-through}.checklist li.is-checked>ul,.checklist li.is-checked>ol{color:var(--vocs-text-color-primary,currentColor);text-decoration:none}.checklist li p{margin:0}ul+.checklist,ol+.checklist{padding-left:1.25rem}.as-wrap{--color-primary:#4339db;--color-text-muted:#9ca3af;--color-text-primary:#e5e7eb;--color-text-strong:#fff;--bg-card:#ffffff0d;--border-card:#ffffff1a;max-width:860px;margin:0 auto}:root:not([data-vocs-theme=dark]) .as-wrap{--color-text-muted:#6b7280;--color-text-primary:#1f2937;--color-text-strong:#202020;--bg-card:#00000005;--border-card:#00000014}.as-summary-bar{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:12px;font-size:14px;display:flex}.as-summary-count{color:var(--color-text-strong);font-size:15px;font-weight:600}.as-summary-legend{align-items:center;gap:14px;display:flex}.as-legend-item{align-items:center;gap:5px;font-size:13px;display:flex}.as-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.as-map{width:100%;max-width:770px;margin:0 auto;display:block}.as-map svg{width:100%;height:auto}.as-spoke{stroke-width:2px;transition:stroke .3s}.as-hub{fill:var(--color-primary);transition:fill .3s}.as-hub-label{fill:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600}.as-node-group{cursor:pointer;transform-box:fill-box;transform-origin:50%;transition:transform .2s,filter .2s}.as-node{cursor:pointer;transition:fill .3s,stroke .3s}.as-node-group:hover .as-node{filter:brightness(1.15)}.as-node-group.selected{transform:scale(1.1)}.as-node-group.selected.state-no{filter:drop-shadow(0 0 12px #ef444499)}.as-node-group.selected.state-yes{filter:drop-shadow(0 0 12px #10b98199)}.as-node-group.selected.state-partial{filter:drop-shadow(0 0 12px #f59e0b99)}.as-node-check{fill:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:18px;font-weight:700}.as-node-label{fill:var(--color-text-primary);-webkit-user-select:none;user-select:none;text-anchor:middle;cursor:pointer;font-size:11px;font-weight:500;transition:fill .15s}.as-node-group:hover .as-node-label{fill:var(--color-primary)}.as-node.state-no{fill:#ef4444}.as-node.state-yes{fill:#10b981}.as-node.state-partial{fill:#f59e0b}.as-spoke.state-no{stroke:#ef44444d}.as-spoke.state-yes{stroke:#10b9814d}.as-spoke.state-partial{stroke:#f59e0b4d}@keyframes as-pulse{0%,to{filter:drop-shadow(0 0 4px #ef444466)}50%{filter:drop-shadow(0 0 12px #ef4444b3)}}.as-node-group.critical.state-no .as-node{animation:2.5s ease-in-out infinite as-pulse}.as-detail{background:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;margin-top:24px;padding:24px 28px;animation:.2s ease-out as-slide-in}@keyframes as-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.as-detail-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.as-detail-left{flex:1;min-width:0}.as-detail-title{color:var(--color-text-strong);margin:0 0 4px;font-size:22px;font-weight:700}.as-detail-sev{letter-spacing:.06em;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.as-detail-sev-dot{border-radius:50%;width:8px;height:8px}.as-detail-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.as-detail-toggle{border:1px solid var(--border-card);border-radius:4px;display:flex;overflow:hidden}.as-toggle-btn{letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:7px 16px;font-size:12px;font-weight:600;transition:all .15s}.as-toggle-btn:not(:last-child){border-right:1px solid var(--border-card)}.as-toggle-btn:hover{background:#ffffff0d}html:not([data-vocs-theme=dark]) .as-toggle-btn:hover{background:#00000008}.as-toggle-btn.active.state-no{color:#fff;background:#ef4444}.as-toggle-btn.active.state-partial{color:#fff;background:#f59e0b}.as-toggle-btn.active.state-yes{color:#fff;background:#10b981}.as-detail-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1;transition:color .15s}.as-detail-close:hover{color:var(--color-text-strong)}.as-detail-desc{color:var(--color-text-muted);margin:0 0 16px;font-size:15px;line-height:1.6}.as-detail-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.as-detail-tags{flex-wrap:wrap;gap:8px;display:flex}.as-attack-tag{border:1px solid var(--border-card);color:var(--color-text-muted);white-space:nowrap;border-radius:4px;padding:4px 12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px}.as-detail-cta{border:1px solid var(--color-primary);color:var(--color-primary);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:8px 20px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;text-decoration:none;transition:all .15s}.as-detail-cta:hover{background:#4339db14}.as-mobile-list{flex-direction:column;gap:8px;display:none}.as-mobile-row{background:var(--bg-card);border:1px solid var(--border-card);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:background .15s;display:flex}.as-mobile-row:hover{background:#4339db0a}.as-mobile-row.selected{border-color:var(--color-text-strong)}.as-mobile-dot{color:#fff;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;transition:background .2s;display:flex}.as-mobile-dot.state-no{background:#ef4444}.as-mobile-dot.state-yes{background:#10b981}.as-mobile-dot.state-partial{background:#f59e0b}.as-mobile-name{color:var(--color-text-strong);flex:1;font-size:14px;font-weight:500}.as-mobile-sev{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}@media (width<=600px){.as-map{display:none}.as-mobile-list{display:flex}.as-detail-top{flex-direction:column}.as-detail-bottom{flex-direction:column;align-items:flex-start}}@media print{.as-detail-close,.as-detail-toggle{display:none}.as-mobile-dot,.as-node{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
