:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;padding:0;background:var(--page-glow) no-repeat,var(--page);color:var(--text);font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;align-items:center}h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:600;line-height:1.3;margin-bottom:1rem;color:var(--text)}h1{font-size:2.5rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:1rem;color:var(--text-muted)}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:all .2s ease}a:hover{color:var(--accent-hover)}a:focus{outline:var(--focus-ring);outline-offset:2px;border-radius:4px}button{font-family:inherit;font-size:inherit;cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius);padding:.5rem 1rem;transition:all .2s ease;background:var(--accent-fill);color:var(--on-accent)}ul,ol{margin:1rem 0;padding-left:1.5rem}li{margin-bottom:.5rem}input,textarea,select{font-family:inherit;font-size:inherit;padding:.5rem;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text)}input:focus,textarea:focus,select:focus{outline:var(--focus-ring);outline-offset:0;border-color:var(--accent)}.site-header{background:var(--header-surface);border-bottom:1px solid var(--hairline);color:var(--text)}.header-bar{position:relative;max-width:calc(100vw - 32px);margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;min-height:72px}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{width:56px;height:56px;color:var(--text);flex:none}.header-logo svg{display:block;width:100%;height:100%}.header-home{background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit}.header-home:hover{background:none}.header-home h1{margin:0;font-size:30px;font-weight:400;letter-spacing:-.01em;line-height:1.25;color:var(--text)}.header-home h1 b{font-weight:800}.header-tagline{margin:1px 0 0;font-size:12.5px;line-height:1.3;color:var(--text-muted)}.header-nav{position:relative}.header-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center;flex-wrap:wrap}.header-nav li{margin:0}.header-nav-button{display:inline-block;padding:6px 10px;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius);font-weight:500;font-size:14px;line-height:1.4;cursor:pointer;transition:background-color .15s ease}.header-nav-button:hover{background:var(--surface-2)}.header-nav-button[data-active=true]{border-radius:0;box-shadow:inset 0 -2px 0 var(--accent);color:var(--text)}.header-nav-button[data-active=true]:hover{border-radius:var(--radius) var(--radius) 0 0}.header-nav-button:focus-visible{outline:var(--focus-ring);outline-offset:1px}.header-menu-button{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer}.header-menu-button:hover,.header-menu-button[aria-expanded=true]{background:var(--surface-2)}@media (min-width: 1101px){.header-nav li.header-nav-group{margin-left:12px;padding-left:12px;border-left:1px solid var(--hairline)}.header-nav-minor .header-nav-button{font-size:13px;font-weight:400;color:var(--text-muted)}.header-nav-minor .header-nav-button[data-active=true]{color:var(--text)}.header-nav ul .header-nav-button.header-prefs-button{padding:6px 8px;border-color:var(--border-strong)}}@media (max-width: 1100px){.header-bar{min-height:56px;padding:0 12px;max-width:none}.header-brand{gap:10px}.header-logo{width:32px;height:32px}.header-home h1{font-size:20px}.header-tagline{display:none}.header-menu-button{display:inline-flex}.header-nav ul{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:1100;flex-direction:column;align-items:stretch;gap:2px;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:0 10px 30px light-dark(rgba(28,36,51,.16),rgba(0,0,0,.5))}.header-nav[data-open=true] ul{display:flex}.header-nav li.header-nav-group{margin-top:4px;padding-top:4px;border-top:1px solid var(--hairline)}.header-nav ul .header-nav-button{width:100%;text-align:left;padding:10px 14px;font-size:15px}.header-nav ul .header-nav-button[data-active=true]{border-radius:var(--radius);box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-soft)}}.header-nav-button.header-whats-new{display:inline-flex;align-items:center;gap:6px}.header-nav-button.header-whats-new .icon{color:light-dark(#b7791f,#f6c177)}.header-new-dot{width:8px;height:8px;border-radius:50%;background:light-dark(#dd6b20,#f6ad55);box-shadow:0 0 0 2px var(--header-surface)}.header-prefs-button,.header-nav ul .header-nav-button.header-prefs-button{display:inline-flex;align-items:center;gap:6px}@media (min-width: 1101px) and (max-width: 1279px){.header-nav ul .header-nav-button{padding:6px 7px}.header-nav li.header-nav-group{margin-left:6px;padding-left:6px}.header-tagline{font-size:12px}}.prefs-panel{position:absolute;right:16px;top:calc(100% + 8px);z-index:1400;width:min(380px,calc(100vw - 32px));padding:14px 16px 16px;background:light-dark(#ffffff,#23262d);color:light-dark(#1a202c,#e3e6ec);border:1px solid light-dark(#cbd5e0,#454a55);border-radius:var(--radius-card);box-shadow:0 10px 30px #00000040;text-align:left;font-size:14px}.prefs-panel:focus{outline:none}.prefs-panel:focus-visible{outline:var(--focus-ring)}.prefs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.prefs-head h2{margin:0;font-size:17px;color:inherit}.prefs-group{border:0;margin:10px 0 0;padding:0}.prefs-group legend{font-weight:600;margin-bottom:6px;padding:0}.prefs-hint{margin:6px 0 0;color:light-dark(#4a5568,#b3bac6);font-size:13px}.prefs-check{display:flex;align-items:center;gap:8px;cursor:pointer}.prefs-check input{width:18px;height:18px;accent-color:var(--accent)}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.segmented>button,.segmented>label{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;margin:0;border:0;border-radius:0;background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.segmented>*+*{border-left:1px solid var(--border-strong)}.segmented>button[aria-pressed=true],.segmented>button[aria-pressed=true]:hover:not(:disabled),.segmented>label.is-on{background:var(--accent-fill);color:var(--on-accent)}.segmented>label input{position:absolute;opacity:0;width:1px;height:1px}.segmented>button:focus-visible,.segmented>label:focus-within{outline:var(--focus-ring);outline-offset:-3px}.feature-mode-row{display:flex;justify-content:flex-start;margin:0 0 8px}.feature-mode-labelled{display:inline-flex;align-items:center;gap:8px}.feature-mode-label{font-size:14px;font-weight:600;color:var(--text)}.feature-mode-row .segmented>button{min-height:36px;padding:4px 14px;font-size:14px}@media (max-width: 1100px){.consent-where-wide{display:none}}@media (min-width: 1101px){.consent-where-narrow{display:none}}.segmented>button:hover:not([aria-pressed=true]),.segmented>label:not(.is-on):hover{background:var(--surface-2)}.prefs-group.prefs-storage{margin-top:14px;padding:10px 12px 12px;border:1px solid var(--border-strong);border-left:4px solid var(--accent);border-radius:var(--radius-card);background:var(--accent-soft)}.prefs-group.prefs-storage legend{float:left;width:100%;margin-bottom:6px}.prefs-storage .prefs-check{clear:both;font-weight:600}.prefs-lists-note{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--hairline);font-size:13px;color:var(--text)}.app-footer{background:var(--page);color:var(--text-muted);padding:20px 0;margin-top:auto;border-top:1px solid var(--hairline)}.app-footer-inner{max-width:1200px;margin:0 auto;padding:0 20px;text-align:center;font-size:12.5px}.app-footer-inner p{margin:0;color:var(--text-muted)}.app-footer-inner .app-footer-small{margin-top:6px;font-size:12px}.app-footer-inner .app-footer-build{margin-top:2px}.app-footer-build code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;-webkit-user-select:all;user-select:all}.example-details{max-width:60ch;font-size:13.5px;line-height:1.45;color:var(--text);white-space:normal;font-variant-numeric:tabular-nums}.example-details p{margin:0 0 4px}.example-details-label{margin:0 0 4px;font-size:15px}.example-details-title{max-width:36ch;font-size:15px;font-weight:600}.example-details-desc,.example-details-muted{font-size:12.5px;color:var(--text-muted)}.example-details-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.menu-details{position:fixed;z-index:1000;width:36ch;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:12px 14px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:0 10px 30px light-dark(rgba(28,36,51,.16),rgba(0,0,0,.5));cursor:auto}@media (max-width: 760px){.menu-details{display:none}}.help-examples{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));margin:8px 0 16px}.help-example-card{padding:12px 14px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card)}.style-drop-note{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:0 0 8px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--accent-soft);color:var(--text);font-size:.85rem;line-height:1.35}.style-drop-note p{margin:0;flex:1 1 16rem}.style-drop-note svg{flex:none;margin-top:2px}.style-drop-use{flex:none}.palette-updating{color:var(--text-muted);font-size:.8rem;font-style:italic}.palette-updating-status{margin:0 0 6px;color:var(--text-muted);font-size:.8rem}.palette-popover.has-note{flex-wrap:wrap;width:min(670px,calc(100vw - 32px))}.palette-popover-note{flex:1 0 100%}.palette-popover-note .style-drop-note{margin:0;background:light-dark(#f3f7fc,#1f2f44);box-shadow:none}.set-color-wrap{position:relative;display:inline-flex}.colour-suggest{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:260px;padding:10px 12px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-card)}.colour-suggest-any{display:flex;align-items:flex-end;gap:10px}.colour-suggest-any label{display:flex;flex-direction:column;gap:2px;font-size:.8rem;color:var(--text-muted)}.colour-suggest-any input[type=color]{width:44px;height:30px;padding:0 2px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.colour-suggest-hex{width:6.5em;font-family:ui-monospace,monospace;padding:4px 6px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text)}.colour-suggest-close{margin-left:auto}.colour-suggest-heading{margin:10px 0 6px;font-size:.85rem;font-weight:600}.colour-suggest-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.colour-suggest-option{display:flex;align-items:center;gap:6px;padding:4px 6px;min-height:36px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer}.colour-suggest-option i{width:24px;height:24px;border-radius:4px;border:1px solid var(--hairline);flex:none}.colour-suggest-option[aria-checked=true]{outline:2px solid var(--accent);outline-offset:1px}.colour-suggest-option:focus-visible{outline:var(--focus-ring);outline-offset:2px}.colour-suggest-none p{margin:0 0 8px;font-size:.85rem}.export-dialog.modal-content{width:min(880px,calc(100vw - 32px));max-width:none}.export-body{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:20px;padding:4px 20px 20px}.export-options fieldset{border:none;margin:0 0 14px;padding:0}.export-options legend{font-weight:600;font-size:13px;color:var(--text);margin-bottom:6px}.export-options select,.export-options input[type=number]{font:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface)}.export-options select{width:100%}.export-inline{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;color:var(--text-muted)}.export-inline input{width:80px}.export-sizes{display:flex;gap:12px;margin-top:8px;font-size:13px;color:var(--text-muted)}.export-sizes input{width:64px;margin:0 4px}.export-segmented{display:inline-flex;border:1px solid var(--hairline);border-radius:8px;overflow:hidden}.export-segmented label{position:relative}.export-segmented input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.export-segmented span{display:block;padding:6px 14px;font-size:14px;font-weight:600;color:var(--text-muted);border-right:1px solid var(--hairline)}.export-segmented label:last-child span{border-right:none}.export-segmented input:checked+span{background:var(--accent-fill);color:var(--on-accent)}.export-segmented input:focus-visible+span{outline:3px solid light-dark(rgba(49,130,206,.45),rgba(97,176,255,.45));outline-offset:-3px}.export-hint{margin:6px 0 0;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.export-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.export-preview{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;background:light-dark(#f7f8fa,#1e1f1f);border:1px solid var(--hairline);border-radius:8px;min-height:260px}.export-preview img{max-width:100%;max-height:420px;box-shadow:0 1px 4px #0000001f;background:var(--surface)}.export-preview[data-transparent=true] img{background:repeating-conic-gradient(var(--hairline) 0% 25%,var(--surface) 0% 50%) 0 0 / 16px 16px}.export-preview figcaption{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}@media (max-width: 700px){.export-body{grid-template-columns:1fr}.export-preview{order:-1;min-height:0}}.export-text-field{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:13px;color:var(--text-muted)}.export-text-field input,.export-text-field textarea{font:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);color:var(--text);resize:vertical}.export-check{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:var(--text);cursor:pointer}.colour-mode-menu{position:relative}.colour-mode-trigger{gap:6px;white-space:nowrap}.colour-mode-trigger[aria-disabled=true],.colour-mode-trigger[aria-disabled=true]:hover{opacity:.45;cursor:not-allowed;background:var(--surface);color:var(--text-muted)}.colour-mode-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:flex;align-items:flex-start;gap:10px}.colour-mode-listbox,.colour-mode-preview{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:0 10px 30px light-dark(rgba(28,36,51,.16),rgba(0,0,0,.5))}.colour-mode-popover.is-above{top:auto;bottom:calc(100% + 6px);align-items:flex-end}.colour-mode-listbox,.colour-mode-preview{max-height:var(--cm-room, none);overflow-y:auto}.colour-mode-listbox{width:260px;padding:6px 0}.colour-mode-listbox:focus-visible{outline:var(--focus-ring);outline-offset:2px}.colour-mode-option{display:flex;flex-direction:column;padding:7px 12px;cursor:pointer;color:var(--text);font-size:13px}.colour-mode-option[aria-selected=true]{background:var(--surface-2);font-weight:600}.colour-mode-option.is-active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.colour-mode-option.is-disabled{cursor:default;color:var(--text-muted)}.colour-mode-why{font-size:11.5px;font-weight:400;color:var(--text-muted)}.colour-mode-preview{width:280px;padding:10px 12px}.colour-mode-mini{width:100%;aspect-ratio:1.45;display:flex;align-items:center;justify-content:center}.colour-mode-mini svg{width:100%;height:100%}.colour-mode-mini text,.colour-mode-mini .heatmap-legend{display:none}.colour-mode-description{margin:8px 0 0;font-size:12.5px;line-height:1.45;color:var(--text)}.colour-mode-note{margin:0 0 8px;padding:6px 8px;font-size:12.5px;line-height:1.45;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius)}.colour-mode-warning{margin:8px 0 0;padding:6px 8px;font-size:12.5px;line-height:1.45;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius)}@media (max-width: 760px){.colour-mode-popover,.colour-mode-popover.is-above{position:fixed;top:auto;bottom:12px;left:12px;right:12px;z-index:60;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card)}.colour-mode-listbox,.colour-mode-preview{width:auto;max-height:none;overflow:visible;border:0;border-radius:0;box-shadow:none}.colour-mode-preview{border-top:1px solid var(--hairline)}.colour-mode-mini{max-width:260px;margin:0 auto}}.palette-face{flex:none;vertical-align:-3px}.palette-swatches{display:inline-flex;gap:2px;flex:none}.palette-swatches i{display:block;width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.45)}.palette-menu{position:relative}.palette-trigger{gap:8px}.palette-trigger-name{font-weight:600}.palette-live{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;color:var(--text);font-size:13px}.dropdown-arrow{font-size:11px;color:var(--text-muted)}.palette-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:flex;align-items:flex-start;gap:10px}.palette-listbox{width:360px;max-height:min(520px,70vh);overflow-y:auto;padding:6px 0;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:0 10px 30px #1c243329}.palette-listbox:focus-visible{outline:var(--focus-ring);outline-offset:2px}.palette-segment-head{display:flex;align-items:center;gap:6px;padding:6px 12px 2px;font-size:13px;font-weight:700;color:var(--text)}.palette-group-label{padding:8px 12px 2px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:none}.palette-option{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;padding:6px 12px;cursor:pointer;color:var(--text);font-size:13px}.palette-option[aria-selected=true]{background:var(--surface-2);font-weight:600}.palette-option.is-active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.palette-option.is-example{cursor:pointer}.palette-option-text{display:flex;flex-direction:column;min-width:0}.palette-option-meta,.palette-option-reason{font-size:11.5px;color:var(--text-muted);font-weight:400}.palette-examples{border-top:1px solid var(--hairline);margin-top:6px}.palette-footnote{margin:6px 12px 4px;font-size:11.5px;color:var(--text-muted)}.palette-hover-panel{width:300px;padding:12px 14px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:0 10px 30px #1c243329}.palette-details{font-size:13px;color:var(--text)}.palette-details-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.palette-details-f25{display:inline-flex;align-items:center;gap:4px;color:var(--text)}.palette-sims{display:flex;gap:6px;margin:10px 0 6px}.palette-sims figure{margin:0;text-align:center}.palette-sims figcaption{font-size:11px;color:var(--text-muted)}.palette-tasks{width:100%;border-collapse:collapse}.palette-tasks td{padding:2px 4px}.palette-tasks .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.palette-shortfalls{margin:6px 0;padding-left:18px;color:light-dark(#6b2c55,#efa4d1)}.palette-happy,.palette-capped,.palette-reason,.palette-source{margin:6px 0;color:var(--text)}.palette-help-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.palette-note{flex-basis:100%;padding:10px 12px;font-size:13px;background:var(--surface);border:1px solid light-dark(#b784a7,#905f81);border-radius:8px}.palette-note p{margin:0 0 4px}.palette-note ul{margin:0 0 6px;padding-left:18px}.palette-note-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cvd-preview-choice{margin:10px 0 4px;padding:0;border:0}.cvd-preview-choice .appearance-check{margin:4px 0;gap:6px}.appearance-hint{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.cvd-filters{position:absolute;width:0;height:0;overflow:hidden}.cvd-preview-badge{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin:16px 0 -8px;padding:4px 4px 4px 12px;font-size:13px;font-weight:600;background:light-dark(#fff8e1,#211f17);border:2px dashed light-dark(#8a5a00,#a47329);border-radius:8px;color:light-dark(#3d2a00,#f3dbb0)}#diagramframe[data-cvd-preview]{outline:2px dashed light-dark(#8a5a00,#d4a059);outline-offset:-2px}.cvd-preview-badge .btn{min-height:32px;padding:0 10px;font-size:13px}.cvd-preview-note{font-weight:400}@media (pointer: coarse){.cvd-preview-badge .btn{min-height:44px}}.palette-strip-wrap{display:none}@media (max-width: 760px){.palette-menu{display:none}.palette-bar{min-width:0;max-width:100%}.palette-strip-wrap{display:block;flex-basis:100%;width:100%;min-width:0;contain:inline-size}.palette-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity}.palette-chip{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:64px;min-height:48px;padding:4px 8px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);cursor:pointer}.palette-chip[aria-pressed=true]{border:2px solid var(--accent)}.palette-chip .palette-swatches i{width:12px;height:12px}.palette-strip-summary{display:flex;align-items:center;gap:8px;padding:6px 2px}.palette-details-toggle{margin-left:auto;min-height:44px;padding:0 8px;border:0;background:none;color:var(--accent);font:inherit;cursor:pointer}.palette-sheet{position:relative;margin-top:4px;padding:10px 16px 16px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card)}.palette-sheet-close{position:absolute;top:6px;right:8px}}.fade-below{flex-wrap:wrap}.fade-below .fade-below-input{width:6.5em;padding:3px 6px;font:inherit;font-variant-numeric:tabular-nums;color:var(--text);background:light-dark(#fff,#1f2229);border:1px solid light-dark(#718096,#8a94a6);border-radius:4px}.fade-below p{flex-basis:100%}.palette-same-note{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:.85rem;color:light-dark(#8a1c1c,#ffb4a8)}.palette-same-warning{margin:6px 0;padding:6px 8px;border-radius:var(--radius, 6px);font-size:.85rem;color:light-dark(#8a1c1c,#ffb4a8);background:light-dark(#fdecea,#3a1d1d);border:1px solid light-dark(#e6a39b,#7a3a33)}.palette-same-dichromat{margin:4px 0;padding-left:18px;font-size:.8rem;color:var(--text-muted)}.palette-custom-group{border-bottom:1px solid var(--hairline);padding-bottom:4px;margin-bottom:4px}.palette-face-placeholder{display:inline-block;width:20px}.palette-note-heading{margin:8px 0 2px;font-size:.8rem;font-weight:600;color:var(--text)}.palette-tips .palette-same-dichromat{color:var(--text-muted)}.palette-details-shuffle{margin-left:auto}.palette-live-na{color:var(--text-muted);font-size:12px}.palette-strip-shuffle{margin-left:auto}.palette-trigger-label{font-size:12px;color:var(--text-muted)}.hinted{position:relative}.hint-tip{position:absolute;left:0;top:calc(100% + 4px);z-index:30;width:max-content;max-width:min(280px,80vw);padding:6px 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:12.5px;font-weight:400;line-height:1.35;text-align:left;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .12s ease .25s}.hinted:hover>.hint-tip,.hinted:focus-within>.hint-tip{visibility:visible;opacity:1}@media (hover: none){.hinted:hover:not(:focus-within)>.hint-tip{visibility:hidden}}@media (prefers-reduced-motion: reduce){.hint-tip{transition:none}}.palette-bar{position:relative}.appearance-wrap{display:contents}.appearance-popover{flex:0 0 100%;order:99;min-width:0;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card)}.appearance-header{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:10px 12px 10px 16px;background:var(--surface);border-bottom:1px solid var(--hairline);border-radius:var(--radius-card) var(--radius-card) 0 0}.appearance-title{margin:0 auto 0 0;font-size:15px;color:var(--text)}.appearance-reset{margin:0}.appearance-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:4px 16px 14px}.appearance-section{padding:10px 0 6px}.appearance-section+.appearance-section{border-top:1px solid var(--hairline)}.appearance-section-title{margin:0 0 6px;font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.appearance-row{margin:4px 0}.appearance-panel .appearance-check{display:flex;align-items:center;margin:0;min-height:30px;cursor:pointer;width:fit-content}.appearance-panel .control-group{margin:4px 0}.range-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;min-height:40px;margin:4px 0 8px}.range-field .range-slider{grid-column:1 / -1;grid-row:2}.range-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0;margin:0}.range-tag{font-size:12px;font-weight:400;color:var(--text-muted)}.range-slider{width:100%;min-width:0;height:24px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--accent-fill);cursor:pointer}.range-slider:focus-visible,.range-number:focus-visible,.appearance-panel input[type=color]:focus-visible{outline:var(--focus-ring);outline-offset:2px}.range-entry{display:inline-flex;align-items:center;gap:6px;justify-self:end}.range-entry-wide{grid-column:2}.range-number{width:7.5em;margin:0;padding:4px 8px;font-variant-numeric:tabular-nums;text-align:right}.range-number::placeholder{color:var(--text-muted);opacity:1}.range-unit{min-width:1.4em;font-size:13px;color:var(--text-muted)}.range-note{grid-column:1 / -1;margin:0}.range-field.is-disabled .range-label,.range-field.is-disabled .range-unit{color:var(--text-muted)}.range-field.is-disabled .range-slider,.range-field.is-disabled .range-number{opacity:.45;cursor:not-allowed}.range-field.is-disabled .range-slider{accent-color:var(--text-muted)}.appearance-more{margin:6px 0 2px}.appearance-more>summary{display:flex;align-items:center;min-height:32px;width:fit-content;padding:0 2px;font-size:14px;font-weight:500;color:var(--text);cursor:pointer}.appearance-more>summary:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius)}.appearance-more>summary{list-style:none;gap:8px}.appearance-more>summary::-webkit-details-marker{display:none}.appearance-more>summary:before{content:"";width:7px;height:7px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(-45deg);margin:0 4px 0 2px}.appearance-more[open]>summary:before{transform:rotate(45deg)}.appearance-more[open]>summary{margin-bottom:2px}.appearance-lead{flex:1 0 100%;order:3;margin:0;font-size:13px;color:var(--text-muted)}.appearance-choices{display:flex;flex-wrap:wrap;gap:2px 6px}.appearance-choices .appearance-row{margin:0}.appearance-choice{gap:6px;padding-right:10px}#style-border-colour:disabled{opacity:.45;cursor:not-allowed}.appearance-panel input[type=color][aria-disabled=true],.appearance-panel input[type=number][aria-disabled=true]{opacity:.45;cursor:not-allowed}.appearance-panel .appearance-check:has(input[aria-disabled=true]){opacity:.45;cursor:not-allowed}.appearance-panel .union-gradient-swatch{flex:none;margin-left:8px;color:var(--text)}.appearance-panel input[type=color]{width:44px;height:32px;padding:2px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.appearance-panel input[type=color]:disabled{opacity:.45;cursor:not-allowed}.appearance-panel .style-default{min-height:30px;padding:2px 10px}.appearance-font,.appearance-panel .cvd-preview-choice{margin:0;padding:0;border:0}.appearance-panel .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width: 760px){.appearance-columns{grid-template-columns:minmax(0,1fr)}.appearance-column+.appearance-column>.appearance-section:first-child{border-top:1px solid var(--hairline)}.appearance-header{padding-left:12px}.appearance-reset{padding:6px 10px;white-space:nowrap}.appearance-reset .icon{display:none}.hint-tip{max-width:calc(100vw - 64px)}}@media (pointer: coarse){.appearance-panel .appearance-check,.range-field{min-height:44px}.range-slider{height:44px}.range-number{min-height:44px}.appearance-panel input[type=color]{height:44px}.appearance-panel .style-default{min-height:44px}.appearance-more>summary{min-height:44px}}@media (prefers-reduced-motion: reduce){.appearance-panel *{transition:none!important}}.citation-bar{color:var(--text-muted);font-size:13px;line-height:1.4}.citation-bar-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:4px 24px;max-width:calc(100vw - 32px);margin:0 auto;padding:4px 16px}.citation-bar-ref{display:flex;align-items:center;gap:4px 14px;flex:0 1 auto;min-width:0;justify-content:flex-end}.citation-bar-text{margin:0;color:inherit}.citation-bar-text b{color:var(--text);font-weight:600}.citation-bar-text a.citation-bar-doi{color:var(--text-muted);font-size:12px;text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:3px;padding-block:5px}.citation-bar-text a.citation-bar-doi:hover{color:var(--text)}.citation-bar .citation-bar-button{display:inline-flex;align-items:center;gap:2px;min-height:28px;padding:0 2px;border:0;background:none;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.citation-bar .citation-bar-button:hover{color:var(--accent-hover);background:none}.citation-bar .citation-bar-button:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:3px}.citation-bar-status{position:absolute;right:16px;top:100%;z-index:5;margin:2px 0 0;font-size:12px;color:var(--text)}.citation-bar-status:empty{display:none}.citation-bar-status:not(:empty){padding:2px 8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius)}@media (max-width: 700px){.citation-bar-inner{flex-direction:column;align-items:flex-start;padding:6px 12px;max-width:none}.citation-bar-ref{flex-wrap:wrap;justify-content:flex-start}}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Nunito-600-latin.woff2) format("woff2")}.support-note{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;color:light-dark(#6b5a4c,#d3c3b4);font-family:Nunito,system-ui,sans-serif;font-weight:600;font-size:14px;line-height:1.4}.support-note-cup{flex:none}.support-note-text{margin:0;color:inherit}.support-note a{color:light-dark(#a9612b,#e6a56c);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-decoration-thickness:1px;text-underline-offset:3px;padding-block:5px}.support-note a:hover{text-decoration-color:currentColor}@media print{.support-note{display:none}}.analysis-card{margin:16px 0;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface);color:var(--text)}.analysis-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:0;background:none;color:var(--text);font:inherit;font-size:14.5px;font-weight:600;text-align:left;cursor:pointer}.analysis-toggle-hint{flex:1 1 auto;min-width:0;font-size:12.5px;font-weight:400;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-toggle-chevron{flex:none;margin-left:auto;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);margin-bottom:3px}.analysis-toggle[aria-expanded=true] .analysis-toggle-hint{display:none}.analysis-toggle[aria-expanded=true] .analysis-toggle-chevron{transform:rotate(-135deg);margin-bottom:-2px}@media (max-width: 600px){.analysis-toggle-hint{display:none}}.analysis-toggle:hover{background:var(--surface-2)}.analysis-toggle:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.analysis-tablist{display:flex;gap:2px;padding:0 8px;border-bottom:1px solid var(--hairline);flex-wrap:wrap;overflow:visible}.analysis-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 -1px;padding:8px 14px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--text-muted);font:inherit;font-size:14.5px;font-weight:600;white-space:nowrap;cursor:pointer}.analysis-tab:hover{color:var(--text);background:var(--surface-2)}.analysis-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.analysis-tab:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.analysis-tab-badge{padding:1px 7px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-muted);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.analysis-panel{padding:14px 16px}.analysis-panel:focus-visible{outline:var(--focus-ring);outline-offset:-3px}.analysis-card .summary-panel,.analysis-card .stats-panel{margin:0;padding:0;border:0;background:none}.analysis-card .summary-title,.analysis-card .stats-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.analysis-card .ask-box:last-child{margin-bottom:0}.analysis-essentials{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:12px 0;font-size:14px;color:var(--text-muted)}.analysis-essentials p{margin:0}@media (max-width: 600px){.analysis-tab-badge{display:none}.analysis-tab{padding:8px 10px}.analysis-panel{padding:12px}}.region-hover-card{position:fixed;z-index:1150;width:max-content;max-width:min(300px,calc(100vw - 16px));padding:10px 12px;background:var(--surface);color:var(--text);border:1px solid light-dark(#dce1ea,#404245);border-radius:8px;box-shadow:0 6px 20px #1c243329;font:13px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;text-align:left;pointer-events:none}.region-hover-card:before{content:"";position:absolute;width:10px;height:10px;background:var(--surface);border:1px solid light-dark(#dce1ea,#404245);transform:rotate(45deg)}.region-hover-card[data-side=right]:before{left:-6px;top:calc(var(--rhc-arrow) - 5px);border-top:0;border-right:0}.region-hover-card[data-side=left]:before{right:-6px;top:calc(var(--rhc-arrow) - 5px);border-bottom:0;border-left:0}.region-hover-card[data-side=below]:before{top:-6px;left:calc(var(--rhc-arrow) - 5px);border-bottom:0;border-right:0}.region-hover-card[data-side=above]:before{bottom:-6px;left:calc(var(--rhc-arrow) - 5px);border-top:0;border-left:0}.region-hover-card p,.region-hover-card ul{margin:0}.rhc-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-weight:600;margin-bottom:2px}.rhc-names{overflow-wrap:anywhere}.rhc-letters{flex:none;font-size:11px;font-weight:600;color:var(--text-muted);background:light-dark(#eef1f7,#232426);border-radius:4px;padding:1px 6px;letter-spacing:.02em}.rhc-shares{list-style:none;padding:0;margin:4px 0!important}.rhc-muted{color:var(--text-muted)}.rhc-hint{margin-top:6px!important;font-size:12px;color:var(--text-muted)}.rhc-shares li{margin:0;padding:0;line-height:1.45}.visualization-container{width:100%;max-width:100%;overflow:visible;display:flex;justify-content:center;align-items:center;min-height:300px;max-height:680px;border:0;border-radius:var(--radius-card);background:transparent;padding:20px;box-sizing:border-box;position:relative}.visualization-container svg{max-width:100%;max-height:100%;height:auto;width:auto;display:block;min-width:0;min-height:0;margin:5px}.visualization-container:focus{outline:none}.visualization-container:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.diagram-crop{display:contents}.diagram-crop.is-cropped{display:block;width:100%;overflow:hidden}.diagram-crop.is-cropped svg{margin:5px 0}.visualization-container svg path[id^=elipse],.visualization-container svg ellipse[id^=elipse],.visualization-container svg circle[id^=elipse]{cursor:pointer;transition:fill-opacity .2s ease}.visualization-container svg text{pointer-events:none;-webkit-user-select:none;user-select:none}.control-buttons{display:flex;align-items:center;gap:8px}.control-buttons button{width:32px;height:32px;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius);font-size:18px;line-height:1;background:var(--surface);color:var(--text);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.control-buttons button:hover{background:var(--surface-2)}.control-value{min-width:60px;text-align:center;font-weight:600;color:var(--text)}.load-data-section{margin-bottom:16px;padding:0;background:transparent;border-radius:0;border:none}.number-of-sets-section{margin-top:12px;padding:0 0 4px;background:transparent;font-size:14px}.sets-count-row{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:6px;margin-top:4px}.sets-count-primary{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:4px}.sets-count-more-panel{margin-top:8px;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface)}.sets-count-more-hint{margin:0 0 6px;font-size:.85rem;color:var(--text-muted)}.sets-count-more-options{display:flex;flex-wrap:wrap;column-gap:6px;row-gap:4px}#diagramframe .intersection-group:focus{outline:none}#diagramframe .intersection-group:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:6px}.visualization-container[data-set-count="5"] .diagram-crop.is-cropped [data-intersection-id] text,.visualization-container[data-set-count="6"] .diagram-crop.is-cropped [data-intersection-id] text{transform-box:fill-box;transform-origin:center;scale:1.3}#imageContainer #diagramframe .visualization-container{max-height:none}#imageContainer #diagramframe .diagram-crop>div{width:100%}#imageContainer #diagramframe .visualization-container svg{width:min(100%,1150px);height:auto;max-width:none;max-height:none;margin:5px auto}@media (min-width: 1025px){#imageContainer #diagramframe .visualization-container svg{width:min(100%,1150px,calc(min(max(380px,100vh - 345px),820px) * var(--diagram-ar, 1.4)))}}body.diagram-fullscreen #imageContainer #diagramframe .visualization-container{height:100%;padding:8px}body.diagram-fullscreen #imageContainer #diagramframe .visualization-container svg{width:min(100%,1600px,calc((100vh - 72px) * var(--diagram-ar, 1.4)))}.diagram-error{position:relative;z-index:6;padding:24px 16px;color:var(--text)}.diagram-error p{margin:0 0 10px}.diagram-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:0 0 8px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-size:.9rem}.has-hover svg .set-outline.outline-emph{stroke:var(--emph)!important;stroke-width:var(--emph-width, 2px)!important;stroke-opacity:1!important;vector-effect:non-scaling-stroke}.has-hover:not(.has-selection) .intersection-group:not(.region-hovered) text{opacity:.7}.has-hover .intersection-group.region-hovered rect.count-hit-area{fill:light-dark(rgba(29,78,216,.1),rgba(126,168,255,.1));stroke:var(--accent);stroke-width:2;rx:6}.diagram-small-hint{display:none;margin:6px 12px 0;font-size:13px;line-height:1.4;color:var(--text-muted);text-align:center}@media (max-width: 600px){.diagram-small-hint{display:block;flex:0 0 100%}.visualization-container{flex-wrap:wrap;align-content:center}}body.diagram-fullscreen .diagram-small-hint{display:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--surface);padding:20px;border-radius:5px;max-width:560px;width:90%;max-height:90vh;overflow-y:auto;box-sizing:border-box;box-shadow:0 2px 10px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid light-dark(#eee,#383838);padding-bottom:10px;margin-bottom:10px}.modal-header h3{margin:0;font-size:1.2em}.modal-statistics{background-color:light-dark(#f8f9fa,#1e1e1e);padding:10px;border-radius:4px;margin-bottom:15px;border-left:4px solid light-dark(#007bff,#4172b6)}.modal-statistics p{margin:0;font-size:.95em}.modal-elements{margin-top:10px}.elements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.elements-header h4{margin:0;font-size:1.1em}.elements-toolbar{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.elements-search{flex:1 1 160px;min-width:0;padding:6px 10px;border:1px solid var(--border-strong);border-radius:4px;font-size:.9em}.elements-viewport{overflow-y:auto;border:1px solid light-dark(#ddd,#444444);border-radius:4px;background-color:light-dark(#fafafa,#1d1d1d)}.elements-list{position:relative;list-style-type:none;padding:0;margin:0}.modal-body .elements-list li{position:absolute;left:0;right:0;box-sizing:border-box;padding:4px 10px;border-bottom:1px solid light-dark(#e9ecef,#393a3b);font-family:monospace;font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.elements-match-count,.elements-empty,.elements-note,.elements-status{margin:6px 0 0;font-size:.85em;color:light-dark(#555,#aeaeae)}.elements-status:empty{display:none}.modal-body .elements-list li:has(.element-region){display:flex;gap:12px}.element-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.element-region{flex:0 1 50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:system-ui,sans-serif;color:var(--text-muted)}.elements-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 10px}.elements-links-label{font-weight:600;color:var(--text)}.elements-links .btn[aria-pressed=true]{border-color:var(--accent)}.elements-links-note{flex-basis:100%;margin:0;font-size:13px;color:var(--text-muted)}.elements-links-custom{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.elements-links-custom label{flex-basis:100%;font-size:14px}.elements-links-custom input{flex:1 1 16em;min-width:0;font:inherit;font-size:14px;padding:6px 10px;border-radius:6px;border:1.5px solid var(--hairline);background:var(--surface);color:var(--text)}.elements-links-custom .field-error{flex-basis:100%;margin:0}.element-link{color:light-dark(#1a4fc4,#8fb3ff);text-decoration:underline}.element-link:focus-visible{outline:var(--focus-ring);outline-offset:1px}:root{--discordant: light-dark(#b3261e, #ff8a80);--discordant-soft: light-dark(#fbeceb, #3a2426)}.values-bar{margin:0 0 12px;padding:8px 12px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface);color:var(--text);font-size:14px}.values-bar-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.values-bar-title{margin:0;font-size:15px;font-weight:600}.values-bar-meta{margin:0;color:var(--text-muted);flex:1;min-width:12em;font-variant-numeric:tabular-nums}.values-bar .btn{padding:4px 12px;font-size:13px}.values-bar select,.values-bar input[type=number],.values-bar input[type=text]{font:inherit;font-size:13px;padding:3px 6px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text)}.values-bar input[type=number],.values-bar input.values-x{width:6.5em}.values-note{margin:6px 0 0;color:var(--text-muted);font-size:13px}.values-note b{color:var(--text)}.values-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px}.values-row>.values-label{font-weight:600}.values-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.values-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;border:1px solid var(--border-strong);border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:13px}.values-chip .btn-icon{width:24px;height:24px}.values-filtered{margin:6px 0 0;font-size:13px;color:var(--text)}.values-columns{margin-top:8px}.values-columns summary{cursor:pointer;color:var(--accent);font-size:13px}.values-columns-grid{display:grid;grid-template-columns:max-content minmax(8em,max-content);gap:4px 8px;align-items:center;margin-top:6px}.values-make{margin-top:8px}.values-make summary{cursor:pointer;color:var(--accent);font-size:13px}.field-error.values-error{margin:6px 0 0}.modal-content.modal-wide{max-width:940px}.region-values{margin-top:4px}.values-discordance{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 8px;font-size:14px}.values-discordance select,.values-discordance input,.value-plot-controls select{font:inherit;font-size:13px;padding:3px 6px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text)}.values-k input{width:5.5em;margin-right:4px}.values-discordant-count{margin:0;font-variant-numeric:tabular-nums}.values-discordant-count b{color:var(--discordant)}.values-only{display:inline-flex;align-items:center;gap:4px}.value-table{border:1px solid var(--hairline);border-radius:var(--radius);font-size:13px}.value-row{display:grid;align-items:center;gap:0 8px;padding:0 8px}.value-head{border-bottom:1px solid var(--hairline);background:var(--surface-2);min-height:32px}.value-head [role=columnheader]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-head .is-numeric{text-align:right}.value-sort{font:inherit;font-weight:600;background:none;border:0;padding:4px 0;color:var(--text);cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-sort:hover{color:var(--accent)}.value-sort:focus-visible{outline:var(--focus-ring);outline-offset:1px}.value-viewport{overflow-y:auto;position:relative}.value-viewport:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.value-rows{position:relative}.value-rows .value-row{position:absolute;left:0;right:0;box-sizing:border-box;border-bottom:1px solid var(--hairline)}.value-row [role=cell]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-row .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.value-row.is-discordant{background:var(--discordant-soft)}.value-row.is-selected{outline:2px solid var(--accent);outline-offset:-2px}.value-flag{color:var(--discordant);font-weight:600}.value-region{color:var(--text-muted)}.values-selected{margin:6px 0 0;font-size:13px}.value-plots{margin-top:10px}.value-plots summary{cursor:pointer;font-weight:600;font-size:14px}.value-plot-controls{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:6px 0;font-size:13px}.value-plot-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;align-items:start}@media (max-width: 760px){.value-plot-row{grid-template-columns:minmax(0,1fr)}}.value-strip,.value-scatter{margin:0}.value-strip svg,.value-scatter svg{display:block;width:100%;height:auto}.plot-caption{font-size:12px;color:var(--text-muted);margin-top:4px}.plot-label{fill:var(--text);font-size:12px;font-family:system-ui,sans-serif}.plot-tick{fill:var(--text-muted);font-size:11px;font-family:system-ui,sans-serif;font-variant-numeric:tabular-nums}.plot-grid{stroke:var(--hairline);stroke-width:1}.plot-frame{fill:none;stroke:var(--hairline)}.plot-diagonal{stroke:var(--border-strong);stroke-dasharray:4 4}.strip-dot{fill:var(--accent);fill-opacity:.45}.strip-median{stroke:var(--text);stroke-width:2.5}.scatter-dot{fill:var(--text-muted);fill-opacity:.55;cursor:pointer}.scatter-dot.is-discordant{fill:var(--discordant);fill-opacity:.9;stroke:var(--surface);stroke-width:.8}.scatter-selected{fill:none;stroke:var(--accent);stroke-width:2.5;pointer-events:none}.scatter-key{white-space:nowrap}.value-scatter .scatter-key svg{display:inline;width:12px;height:12px;vertical-align:-1px}.region-hover-card .rhc-values{margin:4px 0 0;font-size:13px;font-variant-numeric:tabular-nums}.duplicate-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-in}.duplicate-overlay-content{background:var(--surface);border-radius:var(--radius-card);padding:24px;max-width:600px;max-height:80vh;width:90%;overflow-y:auto;box-shadow:0 10px 25px #0000004d;animation:slideIn .3s ease-out}.duplicate-overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid light-dark(#f0f0f0,#373737)}.duplicate-overlay-header h2{margin:0;color:light-dark(#d32f2f,#f7857b);font-size:1.4em}.duplicate-overlay-body{line-height:1.6;color:light-dark(#333,#d7d7d7)}.duplicate-overlay-body p{margin-bottom:16px}.educational-content{background-color:light-dark(#f8f9fa,#1e1e1e);padding:16px;border-radius:8px;margin:16px 0;border-left:4px solid light-dark(#2196f3,#2f75b4)}.educational-content h3{margin-top:0;margin-bottom:12px;color:light-dark(#1565c0,#67aeff);font-size:1.1em}.educational-content ul{margin:8px 0;padding-left:20px}.educational-content li{margin-bottom:4px}.action-section{background-color:light-dark(#fff3e0,#25211b);padding:16px;border-radius:8px;margin-top:16px;border-left:4px solid light-dark(#ff9800,#865829)}.helpful-links{margin-top:12px}.helpful-links p{margin-bottom:8px;font-weight:500}.wiki-link{display:inline-block;margin-right:16px;margin-bottom:8px;color:light-dark(#1565c0,#67aeff);text-decoration:none;font-size:14px;padding:4px 8px;border-radius:4px;background-color:light-dark(#e3f2fd,#21262a);transition:background-color .2s}.wiki-link:hover{background-color:light-dark(#bbdefb,#2e3a44);text-decoration:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.duplicate-overlay-content{width:95%;padding:16px;margin:10px}.duplicate-overlay-header h2{font-size:1.2em}.wiki-link{display:block;margin-right:0;margin-bottom:8px}}.code-help{position:absolute;top:70px;left:0;right:0;z-index:1000;max-height:400px;overflow-y:auto;padding:16px;background:var(--surface);border:1px solid light-dark(#ddd,#444444);border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:13px;line-height:1.5;color:var(--text-muted)}.code-help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.code-help-head h3{margin:0;font-size:16px;color:var(--text)}.code-help-intro{margin:0 0 10px;padding:8px;background:var(--surface-2);border-radius:4px}.code-help-rules{margin:0 0 12px 16px;padding:0}.code-help-section h4{margin:10px 0 6px;font-size:13px;color:var(--text)}.code-help-example{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 6px 12px}.code-help-example code{padding:2px 6px;border-radius:3px;background:var(--surface-2);color:var(--accent);font-weight:700}.code-help-example span{font-size:12px;color:var(--text-muted)}.code-help-footer{margin-top:12px;padding:8px;border-radius:4px;background:light-dark(#fff5f5,#211e1e);border-left:3px solid light-dark(#c53030,#af544d);font-size:12px}.news-card{position:fixed;right:16px;bottom:16px;z-index:900;display:flex;flex-direction:column;width:380px;max-width:calc(100vw - 32px);max-height:min(78vh,640px);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-card);font-size:14px;line-height:1.45}.news-card:focus{outline:none}.news-head{display:flex;align-items:center;gap:4px;padding:10px 10px 6px 14px}.news-title{flex:1 1 auto;margin:0;font-size:16px;font-weight:600;color:var(--text)}.news-body{overflow-y:auto;padding:0 14px 14px;display:flex;flex-direction:column;gap:12px}.news-group-title{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.news-highlights,.news-list{margin:0;padding:0;list-style:none;font-size:13px;color:var(--text-muted)}.news-highlights li{display:flex;gap:8px;align-items:flex-start;margin-bottom:4px}.news-star{flex:0 0 auto;margin-top:2px;color:var(--text)}.news-highlights strong,.news-list strong{color:var(--text)}.news-list{margin-top:8px;padding-left:16px;list-style:disc}.news-note{margin:6px 0 0;font-size:12.5px;color:var(--text-muted)}.news-other{margin-top:8px;font-size:13px}.news-other summary{cursor:pointer;width:fit-content;font-weight:600;color:var(--text);border-radius:var(--radius)}.news-other summary:focus-visible{outline:var(--focus-ring);outline-offset:2px}.news-actions{margin:10px 0 0}.news-guide{display:none;margin:0}@media (max-width: 760px){.news-guide{display:block}}.news-feedback{margin:0;font-size:13px;color:var(--text-muted)}.news-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.news-link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.news-save{padding-top:12px;border-top:1px solid var(--hairline)}.news-save-row{position:relative;display:flex;align-items:center;gap:8px;padding:8px 10px;font-weight:600;cursor:pointer}.news-save-row input{width:16px;height:16px;accent-color:var(--accent-fill)}.news-trace{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.news-trace rect{x:.5px;y:.5px;width:calc(100% - 1px);height:calc(100% - 1px);rx:6px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:16 84;animation:news-trace 4.5s linear infinite}@keyframes news-trace{to{stroke-dashoffset:-100}}@media (prefers-reduced-motion: reduce){.news-trace rect{animation:none;stroke-dasharray:none;stroke-width:1}}.news-never{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.news-never .news-note{margin:2px 0 0}.news-card.news-pill{right:16px;bottom:16px;width:auto;max-height:none;flex-direction:row;align-items:center;border-radius:999px}.news-pill-button{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 6px 4px 14px;border:0;border-radius:999px;background:none;color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.news-pill-button:hover{background:var(--surface-2)}.news-pill-button:focus-visible,.news-pill-close:focus-visible{outline:var(--focus-ring);outline-offset:2px}.news-pill-close{margin-right:4px}.news-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-fill)}@media (max-width: 600px){.news-card{left:8px;right:8px;bottom:8px;width:auto;max-width:none;max-height:70vh}.news-card.news-pill{left:auto;right:8px}}.lens-note{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-top:6px;padding:5px 8px;border-radius:6px;font-size:13px;border-left:3px solid var(--accent);background:var(--surface-2);color:var(--text)}.lens-note.is-paused{border-left-color:var(--hairline);color:var(--text-muted)}.lens-btn{padding:2px 8px;font-size:13px}.ask-box{margin:0 0 12px}.ask-field{position:relative;display:flex;align-items:center;gap:10px}.ask-label{font-weight:600;color:var(--text)}.ask-field input{flex:1;min-width:0;font:inherit;font-size:15px;padding:9px 40px 9px 12px;border:1.5px solid var(--hairline);border-radius:8px;background:var(--surface);color:var(--text)}.ask-field input:focus-visible{outline:var(--focus-ring);outline-offset:1px;border-color:var(--accent)}.ask-field input:disabled{background:var(--surface-2);color:var(--text-muted)}.ask-input-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:center}.ask-clear{position:absolute;right:4px;width:32px;height:32px}.ask-status{margin:6px 0 0;min-height:22px;font-size:14px;color:var(--text)}.ask-muted{color:var(--text-muted)}.ask-examples{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ask-chip{font:inherit;font-size:13px;padding:3px 9px;border-radius:999px;cursor:pointer;border:1px solid var(--hairline);background:var(--surface-2);color:var(--text)}.ask-chip:hover{border-color:var(--accent)}.ask-chip:focus-visible{outline:var(--focus-ring);outline-offset:1px}.ask-error{color:light-dark(#975a16,#dd9b5d);display:inline-flex;gap:6px;align-items:center}.ask-read{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.ask-letters{color:var(--text-muted);font-variant-numeric:tabular-nums}.ask-count{font-weight:600;font-variant-numeric:tabular-nums}.ask-open{padding:4px 10px;font-size:13px}.ask-how-btn{flex:none}.ask-how-btn[aria-expanded=true]{color:var(--accent);background:var(--surface-2)}.ask-how{margin:8px 0 4px;padding:12px;border-radius:var(--radius-card);border:1px solid var(--hairline);background:light-dark(#f7fafc,#1b1d22);color:var(--text)}.ask-how-title{margin:0 0 6px;font-size:16px}.ask-how-intro{margin:0 0 10px;font-size:14px;color:var(--text)}.ask-how-cards{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,15em),1fr))}.ask-how-card{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;border:1px solid var(--hairline);background:light-dark(#fff,#23262d)}.ask-how-card h3{margin:0;font-size:14px}.ask-how-card code{font-size:13px;overflow-wrap:anywhere;color:light-dark(#1a3e9e,#a9c1ff)}.ask-how-card p{margin:0;font-size:13px}.ask-how-count{color:var(--text-muted);font-variant-numeric:tabular-nums;min-height:1.2em}.ask-how-card .btn{align-self:flex-start;margin-top:auto;padding:4px 10px;font-size:13px}.find-box{margin:0 0 10px}.find-field{position:relative;display:flex;align-items:center;gap:10px}.find-label{font-weight:600;min-width:2.2em;color:var(--text)}.find-field input{flex:1;min-width:0;font:inherit;font-size:15px;padding:9px 40px 9px 12px;border:1.5px solid var(--hairline);border-radius:8px;background:var(--surface);color:var(--text)}.find-field input:focus-visible{outline:var(--focus-ring);outline-offset:1px;border-color:var(--accent)}.find-field input:disabled{background:var(--surface-2);color:var(--text-muted)}.find-clear{position:absolute;right:4px;width:32px;height:32px}.find-list{position:absolute;z-index:30;top:100%;left:calc(2.2em + 10px);right:0;margin:4px 0 0;padding:4px 0;list-style:none;max-height:18em;overflow-y:auto;border-radius:8px;border:1px solid var(--hairline);background:light-dark(#fff,#23262d);color:var(--text);box-shadow:0 4px 14px light-dark(rgba(0,0,0,.15),rgba(0,0,0,.5))}.find-list[hidden]{display:none}.find-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;cursor:pointer;font-size:14px}.find-list li:hover,.find-list li.is-active{background:light-dark(#ebf1ff,#2c3550)}.find-list mark{background:light-dark(#fff3a3,#5c4d00);color:inherit;border-radius:2px}.find-option-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.find-squares{display:inline-flex;gap:3px;flex:none}.find-squares i{width:12px;height:12px;border-radius:2px;border:1px solid light-dark(rgba(0,0,0,.35),rgba(255,255,255,.45))}.find-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.find-status{margin:6px 0 0;min-height:22px;font-size:14px;color:var(--text)}.find-muted{color:var(--text-muted)}.find-read{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.find-count{font-weight:600;font-variant-numeric:tabular-nums}.find-open{padding:4px 10px;font-size:13px}.find-status:empty{min-height:0;margin:0}.region-selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:6px 10px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface-2)}.region-selection-text{margin:0;flex:1;min-width:12em;font-size:14px;font-variant-numeric:tabular-nums;color:var(--text)}.region-selection-bar .btn{padding:4px 12px;font-size:13px}.selection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.selection-actions .btn{padding:4px 12px;font-size:13px}.region-selection-status:empty{display:none}.region-selection-status{flex-basis:100%;margin:0;font-size:13px;color:var(--text-muted)}.region-selection-head{flex:1;min-width:12em}.region-selection-head .region-selection-text{flex:none;min-width:0}.region-selection-source{margin:0;font-size:13px;color:var(--text-muted)}.selection-info{position:relative;display:inline-flex}.selection-info-btn{min-width:32px;min-height:32px}.selection-info-tip{position:absolute;bottom:calc(100% + 6px);right:0;z-index:40;width:max-content;max-width:min(340px,85vw);padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:12.5px;line-height:1.4}.stats-panel{margin:16px 0;padding:14px 16px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface);color:var(--text)}.stats-title{margin:0 0 6px;font-size:16px;font-weight:650;letter-spacing:-.1px}.stats-disclaimer{margin:0 0 12px;font-size:14px;padding:8px 10px;border-left:3px solid light-dark(#975a16,#dd9b5d);background:light-dark(#fffaf0,#26221c)}.stats-muted{margin:4px 0 10px;font-size:14px;color:var(--text-muted)}.stats-field{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px}.stats-label{font-weight:600;color:var(--text)}.stats-field input,.stats-field select{font:inherit;font-size:15px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);max-width:100%}.stats-field input{flex:1 1 14em;min-width:0}.stats-field input:focus-visible,.stats-field select:focus-visible{outline:var(--focus-ring);outline-offset:1px}.stats-scope{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 0 0;padding:0;border:0;font-size:14px}.stats-scope label{display:inline-flex;align-items:center;gap:4px}.stats-scope-note{margin:0}.stats-not-shown{color:var(--text-muted);font-weight:400;font-size:.9em}.stats-more{margin:0 0 8px;font-size:14px}.stats-more summary{cursor:pointer;color:var(--accent)}.stats-more ul{margin:6px 0 0;padding-left:20px}.stats-total-explanation{margin:8px 0 10px;font-size:14px}.stats-total-explanation summary{cursor:pointer;color:var(--accent)}.stats-total-explanation p{margin:6px 0 0}.stats-error{display:flex;gap:6px;align-items:flex-start}.stats-warning{margin:4px 0;font-size:14px;color:light-dark(#975a16,#dd9b5d)}.stats-help{position:relative;display:inline-block;vertical-align:middle}.stats-help-btn{width:28px;height:28px}.stats-help-text{position:absolute;z-index:20;top:100%;left:0;width:min(20em,70vw);margin-top:4px;padding:8px 10px;font-size:13px;font-weight:400;text-align:left;line-height:1.4;white-space:normal;border-radius:8px;border:1px solid var(--hairline);background:light-dark(#fff,#23262d);color:var(--text);box-shadow:0 4px 14px light-dark(rgba(0,0,0,.15),rgba(0,0,0,.5))}.stats-help-text[hidden]{display:none}.stats-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 10px;font-size:14px}.stats-legend .stats-muted{margin:0}.stats-legend-item{display:inline-flex;align-items:center;gap:2px}.stats-legend-item:nth-last-child(-n+2) .stats-help-text{left:auto;right:0}.stats-table-wrap{overflow-x:auto;margin:12px 0 10px}.stats-table{border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;min-width:100%}.stats-table th,.stats-table td{padding:5px 8px;border-bottom:1px solid var(--hairline);text-align:right;white-space:nowrap}.stats-table th:first-child,.stats-table tbody th{text-align:left}.stats-table thead th{font-weight:600;color:var(--text);white-space:normal;max-width:70px;line-height:1.3}.stats-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stats-method{margin:0 0 10px;font-size:13px;color:var(--text-muted)}.stats-actions{display:flex;flex-wrap:wrap;gap:8px}.stats-copied{min-height:1.2em}.stats-note{margin:4px 0 0;font-size:13px;color:var(--text);font-style:italic}.stats-describe{margin:0 0 14px}.stats-describe summary{cursor:pointer;color:var(--text);font-size:14px;font-weight:650;margin:0 0 6px}.stats-describe summary:hover{text-decoration:underline}.stats-describe[open] summary{margin-bottom:8px}.stats-subtitle{margin:0 0 6px;font-size:14px;font-weight:650}.stats-describe .diagram-description{margin:0 0 8px;font-size:13px;line-height:1.5}.total-examples{margin:6px 0 0;padding-left:20px}.total-examples>li{margin-bottom:10px}.total-examples-right,.total-examples-wrong{margin-top:2px}.total-examples-rule{margin:4px 0 0}.help-subheading{margin:18px 0 6px;font-size:16px;color:var(--text)}.help-steps,.help-list,.help-refs{margin:6px 0 12px;padding-left:22px}.help-steps li,.help-list li{margin:4px 0}.help-refs li{margin:4px 0;font-size:14px;overflow-wrap:anywhere}.help-disclaimer{padding:8px 10px;font-size:14px;border-left:3px solid light-dark(#975a16,#dd9b5d);background:light-dark(#fffaf0,#26221c)}.help-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.help-table-wrap{overflow-x:auto;margin:8px 0 12px}.help-table{border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;min-width:100%}.help-table th,.help-table td{padding:5px 8px;border-bottom:1px solid var(--hairline);text-align:left;white-space:nowrap;vertical-align:middle}.help-table thead th{font-weight:600;color:var(--text)}.help-table tbody th{font-weight:600}.help-table .num{text-align:right}.help-table .num .palette-face{vertical-align:-3px}.help-table .btn{padding:4px 10px;font-size:13px}.palette-rank-name{display:inline-flex;align-items:center;gap:8px}.palette-rank-swatches{display:inline-flex}.palette-rank-swatches i{width:12px;height:16px;border:1px solid light-dark(rgba(0,0,0,.25),rgba(255,255,255,.35))}.palette-rank-swatches i+i{border-left:0}.help-toc{margin:0 0 20px;padding:12px 16px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card)}.help-toc-title{margin:0 0 6px;font-size:16px;color:var(--text)}.help-toc ol{margin:0;padding-left:22px;columns:2 16rem;column-gap:24px}.help-toc li{margin:3px 0;break-inside:avoid}.help-toc a,.help-back a{color:var(--link-color)}.help-section{margin-bottom:8px}.help-section-heading{scroll-margin-top:72px}.help-section-heading:focus{outline:none}.help-section-heading:focus-visible{outline:var(--focus-ring);outline-offset:2px}.help-back{font-size:13px}.help-example-detail{font-weight:400;font-size:13px;color:var(--text-muted)}.help-preview{margin:0 0 16px;padding:10px 14px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface-2);font-size:14px}.help-preview-title{margin:0 0 4px;font-size:14px}.help-preview p{margin:0}.guide{max-width:960px;margin:0 auto}.guide-intro,.guide-outro{font-size:1rem;color:var(--text-muted)}.guide-section{padding:28px 0 32px;border-top:1px solid var(--border-strong)}.guide-section:first-of-type{border-top:none}.guide-title{margin:0 0 4px;font-size:1.35rem;font-weight:700;color:var(--text)}.guide-caption{margin:0 0 14px;font-size:.95rem;color:var(--text-muted)}.guide-clip{position:relative}.guide-clip img{display:block;width:100%;height:auto;border-radius:var(--radius-card);border:1px solid light-dark(#cbd5e0,#3b3d40);box-shadow:0 2px 10px light-dark(rgba(0,0,0,.08),rgba(0,0,0,.4));background:var(--surface-2)}.guide-play{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;background:light-dark(#ffffff,#232426);box-shadow:0 1px 4px light-dark(rgba(0,0,0,.18),rgba(0,0,0,.5))}.guide-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px}.guide-note{margin:0;font-size:.9rem;color:var(--text-muted)}#root{min-height:100vh;display:flex;flex-direction:column;width:100%}#content{background:transparent;margin:20px auto;padding:24px;width:95%;max-width:1500px;min-width:1000px;position:relative;overflow:hidden}#contentContainer{display:flex;gap:20px;min-height:600px}#leftColumn{flex:1;min-width:0;max-width:calc(100% - 400px)}#rightColumn{width:380px;flex-shrink:0;background:var(--surface);border-radius:var(--radius-card);padding:20px;border:1px solid var(--hairline);overflow-y:auto;align-self:flex-start}#imageContainer{flex-wrap:wrap;background:var(--diagram-background);border-radius:var(--radius-card);margin:16px 0 20px;border:1px solid var(--hairline);width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box}#diagramframe{width:100%;height:100%;background:transparent;border-radius:inherit;display:flex;align-items:center;justify-content:center}#diagramframe .visualization-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.unified-mode-controls{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);margin-bottom:16px;overflow:hidden}.mode-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--hairline)}.mode-tab{flex:1;padding:12px 16px;background:transparent;border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-muted);transition:all .2s ease;border-bottom:2px solid transparent}.mode-controls-content{display:flex;align-items:center;padding:16px 20px;gap:16px;font-size:14px;flex-wrap:wrap}.mode-controls-label{font-weight:600;min-width:80px;color:var(--text)}.mode-controls-input{flex:1;min-width:200px;max-width:400px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);font-size:14px}.navigation-controls{display:flex;align-items:center;gap:12px;margin-top:12px;padding:0 20px 16px}.frame-indicator{font-size:14px;font-weight:500;color:var(--text);padding:0 8px}.data-input{margin-bottom:24px}.data-input h2{color:var(--text);font-size:1.25rem;font-weight:600;margin-bottom:16px}.set-input{background:transparent;border:0;border-top:1px solid var(--hairline);border-radius:0;padding:12px 0 4px;margin:0}.set-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.set-name-input{flex:1;padding:8px 12px;border:1px solid var(--border-strong);border-radius:4px;font-size:14px;font-weight:500}.set-color-input{width:40px;height:40px;border:1px solid var(--border-strong);border-radius:4px;cursor:pointer;padding:2px}.set-textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--border-strong);border-radius:4px;font-size:12.5px;line-height:1.45;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.set-size{font-size:12.5px;color:var(--text-muted);margin-top:4px;font-weight:400}.panel-section{margin-bottom:20px}.panel-section:last-child{margin-bottom:0}.control-group{display:flex;align-items:center;gap:12px;margin-bottom:12px}.control-label{min-width:80px;font-size:14px;font-weight:500;color:var(--text)}#content.body{margin:20px auto}input,select,textarea{padding:10px 12px;margin:4px 2px;border:1px solid var(--border-strong);border-radius:4px;font-size:14px;font-family:inherit;transition:all .2s ease;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring);outline-offset:1px}input[type=file]{border:1px dashed var(--border-strong);padding:12px;border-radius:var(--radius);background:var(--surface)}input[type=file]:hover{border-color:var(--text-muted);background:var(--surface)}button{padding:10px 16px;border:none;border-radius:var(--radius);font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;font-family:inherit;background:var(--accent-fill);color:var(--on-accent)}button:where(:not([class])):hover{background:var(--accent-fill-hover)}button:disabled{opacity:.6;cursor:not-allowed}button:focus{outline:none}button:focus-visible{outline:var(--focus-ring);outline-offset:2px}#diagramDiv{border-radius:var(--radius-card);padding:0;position:relative}#contentContainer{display:flex;justify-content:space-between;gap:24px;align-items:start;min-height:600px}#leftColumn{flex:1;min-width:0;max-width:calc(100% - 420px)}#rightColumn{background:var(--surface);border-radius:var(--radius-card);padding:20px;border:1px solid var(--hairline);font-family:inherit;font-size:14px;position:sticky;overflow-y:auto;width:380px;flex-shrink:0}.unified-mode-controls{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);overflow:hidden;margin-bottom:16px}.mode-controls-content{display:flex;align-items:center;padding:16px 20px;background-color:var(--surface);gap:12px;font-size:14px;flex-wrap:wrap}.mode-controls-label{font-weight:700;min-width:70px;flex-shrink:0}.mode-controls-input{flex:1;min-width:200px;max-width:100%;padding:10px 14px;border:1px solid var(--border-strong);border-radius:4px;background-color:var(--surface);font-size:14px;box-sizing:border-box}.mode-controls-input:disabled{background-color:var(--surface-2)}.mode-controls-input.invalid{border-color:light-dark(#ff4444,#ad524c)}.info-button{background-color:var(--accent-fill);color:var(--on-accent);border:none;padding:0;border-radius:50%;cursor:pointer;font-size:12px;width:24px;height:24px;min-width:24px;min-height:24px;max-width:24px;max-height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.frame-indicator{font-size:13px;color:var(--text-muted);font-weight:700;min-width:80px;text-align:center;white-space:nowrap}.set-input{box-sizing:border-box}.set-header{display:flex;gap:8px;margin-bottom:8px;align-items:center}.set-name-input{flex:1;padding:8px 12px;border:1px solid var(--border-strong);border-radius:4px;font-size:14px;box-sizing:border-box}.set-color-input{width:40px;height:32px;padding:0;border:1px solid var(--border-strong);border-radius:4px;cursor:pointer;flex-shrink:0}.set-textarea{width:100%;margin-bottom:10px;padding:8px;border:1px solid var(--border-strong);border-radius:4px;resize:vertical;box-sizing:border-box}#diagramframe{width:100%;height:100%;background:transparent;border-radius:inherit;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-sizing:border-box}#diagramframe .visualization-container{max-width:100%;max-height:100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center}#diagramframe .visualization-container svg{max-width:100%;max-height:100%;width:auto;height:auto}#mergeMenu{margin-bottom:16px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);overflow:hidden}.mode-tabs{display:flex;background:var(--surface);border-radius:var(--radius-card) var(--radius-card) 0 0}.mode-tab{flex:1;padding:16px 20px;background:transparent;border:none;cursor:pointer;font-size:15px;font-weight:500;color:var(--text-muted);transition:all .2s ease;border-bottom:2px solid transparent;position:relative}.mode-tab:hover{background:var(--surface-2);color:var(--text)}.mode-tab.active{background:var(--surface);color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.mode-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}#mergeMenu span,#mergeMenu input[type=radio]{display:none}#contentinfo{margin-top:40px;padding:24px 0;text-align:center;color:var(--text-muted);font-size:14px;border-top:1px solid var(--hairline)}@media (max-width: 1200px){.body{padding:0 16px}#content{margin:16px auto;padding:16px;width:calc(100vw - 32px);min-width:unset}#contentContainer{flex-direction:column;gap:20px}#leftColumn{max-width:none}#rightColumn{position:static;max-height:none;width:100%;padding:20px}}@media (max-width: 768px){body{font-size:14px}#content{margin:12px;padding:12px;width:calc(100vw - 24px)}#mergeMenu{padding:12px;margin-bottom:12px}#mergeMenu span{flex-direction:column;gap:12px;align-items:flex-start}#diagramframe{min-height:350px;padding:12px}#rightColumn{padding:16px}}@media (max-width: 480px){.body{padding:0 4px}#content{margin:2px;padding:6px;max-width:calc(100vw - 4px)}#rightColumn{padding:8px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@supports selector(:focus-visible){*:focus{outline:none}*:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:4px}}@media print{header,nav,#rightColumn{display:none}#content{box-shadow:none;border:0;margin:0;max-width:none;background:var(--surface)!important}#leftColumn{width:100%}}.content-panel{background:var(--surface);margin:20px auto;padding:0;width:95%;max-width:1500px;min-width:1000px;border-radius:var(--radius-card);border:1px solid var(--hairline);position:relative;overflow:hidden;min-height:600px}.content-panel-header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px 0;margin-top:8px}.content-panel-title{color:var(--text);font-weight:600;font-size:1.875rem;margin:0}.content-panel-close{background:none;border:none;font-size:32px;color:var(--text-muted);cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.content-panel-close:hover{background:var(--surface-2);color:var(--text)}.content-panel-body{padding:20px 30px 30px;color:var(--text-muted);line-height:1.6}.content-heading{color:var(--text);font-weight:600;margin-top:24px;margin-bottom:12px;font-size:1.25rem}.content-heading:first-child{margin-top:0}.highlight{color:var(--accent);font-weight:600}.content-link{color:var(--accent);text-decoration:none;transition:color .2s ease}.content-panel-body p a:not(.btn),.content-panel-body li a:not(.btn){text-decoration:underline;text-underline-offset:2px}.content-link:hover{color:var(--accent-hover);text-decoration:underline}.content-panel ul{margin-left:20px;margin-bottom:16px}.content-panel li{margin-bottom:8px}.content-panel p{margin-bottom:16px;font-size:16px}@media (max-width: 1400px){#content{width:98%;max-width:1300px;padding:20px}#rightColumn{width:360px}}@media (max-width: 1200px){#content{margin:16px auto;padding:16px;width:calc(100vw - 32px);min-width:unset}#contentContainer{flex-direction:column;gap:20px}#leftColumn{max-width:none}#rightColumn{position:static;max-height:none;width:100%;padding:20px}.content-panel{width:calc(100vw - 32px);min-width:unset;margin:16px auto}.content-panel-header,.content-panel-body{padding-left:20px;padding-right:20px}.mode-controls-content{flex-wrap:wrap;gap:12px}.mode-controls-input{min-width:150px;max-width:300px}}@media (max-width: 768px){body{font-size:14px}#content{margin:12px;padding:12px;width:calc(100vw - 24px)}.mode-controls-content{flex-direction:column;align-items:stretch;gap:12px}.mode-controls-label{min-width:auto}.mode-controls-input{min-width:0;max-width:none}#diagramframe{min-height:350px;padding:12px}#rightColumn{padding:16px}.content-panel{margin:12px;width:calc(100vw - 24px)}.content-panel-header,.content-panel-body{padding-left:16px;padding-right:16px}.content-panel-title{font-size:1.5rem}.control-group{flex-direction:column;align-items:stretch;gap:8px}.control-label{min-width:auto}}@media (max-width: 480px){#content{margin:2px;padding:6px;max-width:calc(100vw - 4px)}#rightColumn{padding:8px}.navigation-controls{flex-wrap:wrap;gap:8px}}@media print{header,nav,#rightColumn,.content-panel-header{display:none}#content,.content-panel{box-shadow:none;border:0;margin:0;max-width:none;background:var(--surface)!important}#leftColumn{width:100%}}.body{max-width:none;margin:0;padding:0;width:auto}#banner{display:none!important}.set-name-input.field-invalid,.field-invalid{border-color:light-dark(#dc2626,#ad524a)!important;box-shadow:0 0 0 2px #dc262633}.field-error{color:light-dark(#dc2626,#f68579);font-size:12px;margin:-6px 0 8px}.site-header{position:sticky;top:0;z-index:1000}html{scroll-padding-top:110px}@media (max-width: 1200px){#rightColumn{order:-1}#leftColumn{width:100%}}@media (max-width: 768px){.site-header{position:static}html{scroll-padding-top:0}}.mode-controls-message{flex-basis:100%;margin:2px 0 0;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.mode-controls-message.field-error{color:light-dark(#b91c1c,#f68579)}.field-warning{color:light-dark(#92400e,#eb9165)}.field-hint{color:var(--text-muted)}.code-refused-live{flex-basis:100%}.mode-controls-content{flex-wrap:wrap}.mode-controls-content{position:relative}.unified-mode-controls{overflow:visible}.unified-mode-controls .mode-tabs{border-radius:var(--radius-card) var(--radius-card) 0 0;overflow:hidden}.unified-mode-controls .mode-controls-content{border-radius:0 0 var(--radius-card) var(--radius-card)}.code-assist{position:absolute;top:calc(100% - 6px);left:12px;right:12px;z-index:20;padding:6px 10px 8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:13px;line-height:1.4;pointer-events:none}.code-key{display:flex;flex-wrap:wrap;gap:4px 6px;margin:4px 0 2px;padding:0;list-style:none}.code-key-item{padding:1px 8px;border:1px solid var(--hairline);border-radius:999px;color:var(--text-muted);overflow-wrap:anywhere}.code-key-item[data-used]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.code-key-letter{font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-hint,.code-note{margin:2px 0 0;color:var(--text-muted)}.code-note:empty{display:none}#imageContainer{position:relative}.empty-state{flex:0 0 auto;width:100%;box-sizing:border-box;border-top:1px solid var(--hairline);background:var(--surface);padding:10px 14px}.empty-state-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;box-sizing:border-box}.empty-state-text{flex:1 1 320px;min-width:0}.empty-state-card h2{margin:0 0 2px;font-size:15px;color:var(--text)}.empty-state-card p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}.empty-state-actions{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 100%}@media (max-width: 600px){.empty-state-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.empty-state-button{display:grid;gap:2px;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px 10px;cursor:pointer}.empty-state-button:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.empty-state-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.empty-state-button-label{font-weight:700;color:var(--accent)}.empty-state-button-detail{font-size:12.5px;color:var(--text-muted)}main.dragging-file #rightColumn .load-data-section{outline:2px dashed var(--accent);outline-offset:4px;border-radius:var(--radius-card)}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#2f5bd31f;border:3px dashed var(--accent);pointer-events:none}.drop-overlay span{background:var(--accent-fill);color:var(--on-accent);font:700 20px/1 system-ui,sans-serif;padding:16px 28px;border-radius:var(--radius-card);box-shadow:0 10px 30px #1c243340}.union-chips{flex-basis:100%;width:100%;contain:inline-size;display:flex;gap:6px;flex-wrap:wrap;min-width:0}.union-chip{flex:0 1 auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 10px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--hairline);color:var(--accent);font-size:13px;font-weight:600}#diagramframe .label-grip{opacity:0;transition:opacity .12s ease}#diagramframe .label-grip.show{opacity:1}#diagramframe .label-grip rect{fill:light-dark(rgba(47,91,211,.06),rgba(127,168,255,.06));stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3;rx:6}#diagramframe .label-grip circle{fill:var(--accent)}#diagramframe text[id^=label]:focus{outline:none}@media (prefers-reduced-motion: reduce){#diagramframe .label-grip{transition:none}}.set-letter-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;margin-right:8px;border-radius:4px;background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);font-size:12px;font-weight:600}.large-set-preview .set-textarea{background:var(--surface-2);color:var(--text-muted)}.large-set-search{width:100%;margin-top:6px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:4px;font:inherit;font-size:13px;box-sizing:border-box}.large-set-note{margin:4px 0 0;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.set-header .set-name-input{min-width:0}.set-header .set-letter-badge{margin-right:0}.set-header .set-color-input{flex:none}.set-name-input:disabled,.set-textarea:disabled{background-color:var(--surface-2);color:var(--text-muted)}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px}.citation-formats{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 600px){#content{margin-left:4px;margin-right:4px;padding-left:4px;padding-right:4px}#imageContainer{border:none;box-shadow:none}#diagramframe{padding-left:0;padding-right:0}#diagramframe .visualization-container{padding-left:2px;padding-right:2px}}.citation-page h3{margin:20px 0 10px;font-size:16px;color:var(--text)}.citation-bibtex{margin-top:20px;padding:15px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface-2)}.citation-bibtex-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.citation-bibtex-head h3{margin:0}.citation-bibtex pre{margin:12px 0 0;padding:12px;overflow-x:auto;background:var(--surface);border:1px solid var(--hairline);border-radius:6px;font-size:12px;line-height:1.5}.citation-status{min-height:1.2em;margin:6px 0 0;font-size:12px;color:light-dark(#276749,#7cbb99)}.citation-other{font-size:14px;color:var(--text-muted)}@media (max-width: 768px){.mode-controls-content{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.mode-controls-label{flex-basis:100%}.mode-controls-input{flex:1 1 0;min-width:0}.mode-controls-action-button{flex-basis:100%}.navigation-controls{flex-basis:100%;flex-wrap:nowrap;margin-top:0;padding:0;gap:8px}.navigation-controls .frame-indicator{flex:1;text-align:center;padding:0}}.control-checkbox{margin-right:8px}body.diagram-fullscreen #diagramframe{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:var(--diagram-background);border-radius:0;padding:24px}body.diagram-fullscreen .site-header{display:none}body.diagram-fullscreen .diagram-toolbar{position:fixed;z-index:901}#imageContainer{overflow:visible}.diagram-toolbar{position:absolute;top:8px;right:8px;z-index:6;display:flex;align-items:center;gap:6px;padding:4px;background:transparent}.diagram-toolbar .btn{min-height:40px}.diagram-toolbar .toolbar-icon{width:40px;padding:0}.diagram-toolbar .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.toolbar-message:empty{display:none}.toolbar-message{position:absolute;top:calc(100% + 6px);right:0;margin:0;width:max-content;max-width:min(320px,80vw);padding:6px 10px;font-size:13px;line-height:1.35;background:light-dark(#f0fff4,#1a1e1b);color:light-dark(#22543d,#96caaf);border:1px solid light-dark(#9ae6b4,#355540);border-radius:8px}.toolbar-message.is-error{background:light-dark(#fff5f5,#211e1e);color:light-dark(#9b2c2c,#f7857d);border-color:light-dark(#feb2b2,#6a4a49)}@media (pointer: coarse){.diagram-toolbar .btn{min-height:44px}.diagram-toolbar .toolbar-icon{width:44px}}.menu-wrap{position:relative;display:inline-block}.menu-button .menu-button-caret{margin-left:-2px}.menu-popup{position:absolute;top:calc(100% + 4px);z-index:20;width:320px;max-width:calc(100vw - 16px);padding:6px 0;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:0 10px 30px light-dark(rgba(28,36,51,.16),rgba(0,0,0,.5));text-align:left}.menu-popup.menu-end{right:0}.menu-popup.menu-start{left:0}.menu-popup.menu-sub{position:static;min-width:0;padding:0 0 4px 22px;border:0;border-radius:0;box-shadow:none;background:transparent}.menu-sub-wrap{position:relative}.menu-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;font-size:14px;color:var(--text);cursor:pointer;white-space:nowrap}.menu-item .icon{flex:none;color:var(--text-muted)}.menu-item-label{flex:1}.menu-item-end{margin-left:16px;color:var(--text-muted);font-size:12px;font-family:inherit}.menu-item:hover,.menu-item:focus{background:var(--accent-soft);outline:none}.menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.menu-item[aria-expanded=true]{background:var(--accent-soft)}.menu-item-danger,.menu-item-danger .icon{color:light-dark(#c53030,#f7857c)}.menu-item[aria-disabled=true]{color:var(--text-muted);cursor:not-allowed}.menu-item-described{align-items:flex-start;padding-top:8px;padding-bottom:8px;white-space:normal}.menu-item-described .icon{margin-top:2px}.menu-item-name{display:block}.menu-item-desc{display:block;margin-top:2px;font-size:12.5px;line-height:1.35;color:var(--text-muted)}.menu-separator{height:1px;margin:6px 0;background:var(--hairline)}@media (pointer: coarse){.menu-item{min-height:44px}}.palette-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-card)}#imageContainer:has(+.palette-bar){margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}#imageContainer+.palette-bar{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.sets-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sets-title{margin:0;font-size:16px;font-weight:650;color:var(--text)}.sets-keep-note{margin-top:-4px}.sets-hint{margin:8px 0 12px;font-size:12.5px;line-height:1.45;color:var(--text-muted)}@media (max-width: 760px){#imageContainer{padding-top:56px}.diagram-toolbar{top:4px;right:4px;gap:4px}.diagram-toolbar .btn{min-height:44px}.diagram-toolbar .toolbar-icon{width:44px}.diagram-toolbar .toolbar-export{padding:0 10px}.diagram-toolbar{max-width:calc(100% - 8px);flex-wrap:wrap;justify-content:flex-end}.diagram-toolbar>.euler-hidden-alert{display:none}.menu-item{min-height:44px}}.prepare-dialog{max-width:560px}.prepare-dialog h3,.prepare-list strong,.prepare-list small{overflow-wrap:anywhere}.prepare-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px}.prepare-list label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;cursor:pointer}.prepare-list input{margin-top:4px;width:16px;height:16px}.prepare-list small{display:block;color:var(--text-muted);font-size:13px;line-height:1.45;margin-top:2px}.prepare-note{font-size:13px;color:var(--text-muted);margin:0 0 8px}.has-selection .intersection-group.region-selected rect.count-hit-area{fill:light-dark(rgba(29,78,216,.1),rgba(126,168,255,.14));stroke:var(--accent);stroke-width:2.5;rx:6}@media (forced-colors: active){#diagramframe{forced-color-adjust:none}}.share-wrap{position:relative}.share-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:min(340px,calc(100vw - 32px));padding:14px 16px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:0 10px 30px light-dark(rgba(28,36,51,.16),rgba(0,0,0,.5));font-size:14px;line-height:1.45;color:var(--text)}.share-title{margin:0 0 8px;font-size:15px}.share-popover p{margin:0 0 8px}.share-privacy{color:light-dark(#744210,#f0c987)}.share-size{color:var(--text-muted)}.share-url{width:100%;box-sizing:border-box;margin-bottom:8px;font-size:13px}.share-note{color:light-dark(#744210,#f0c987)}.share-note.is-error{color:light-dark(#9b2c2c,#f7857d)}.share-copied:empty{display:none}.share-copied{margin:8px 0 0!important;color:light-dark(#22543d,#96caaf)}.share-includes{color:var(--text-muted);font-size:.85rem}.share-values-alert{padding:8px 10px;border:1px solid light-dark(#b45309,#f5b56b);border-radius:var(--radius);background:light-dark(#fffbeb,#2a2113);color:var(--text);font-size:.85rem}.share-try{margin-bottom:0!important}.share-try-note{color:var(--text-muted);font-size:.8rem}@media (max-width: 760px){.share-popover{position:fixed;top:auto;left:16px;right:16px;bottom:16px;width:auto}}.body .union-chips{margin:0 0 12px}.union-chips-row{display:contents}.union-plain-toggle{display:inline-flex;align-items:center;gap:6px;margin:-4px 0 12px}@media (min-width: 1025px){.unified-mode-controls{margin-bottom:8px}.unified-mode-controls .mode-tab{padding:10px 16px}.unified-mode-controls .mode-controls-content{padding:10px 20px}#leftColumn #imageContainer{margin-top:8px}#diagramframe .visualization-container{padding-top:12px;padding-bottom:12px}#diagramframe .visualization-container svg{max-height:max(380px,calc(100vh - 345px))}}.mode-controls-content .navigation-controls{margin:0;padding-top:0;padding-bottom:0}.share-wrap.is-blocked .toolbar-icon{opacity:.55;cursor:not-allowed}.share-tip{position:absolute;top:calc(100% + 6px);right:0;z-index:21;width:max-content;max-width:min(300px,80vw);padding:6px 10px;font-size:13px;line-height:1.35;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);visibility:hidden}.share-wrap.is-blocked:hover .share-tip,.share-wrap.is-blocked:focus-within .share-tip{visibility:visible}.view-venn-reason{font-size:.85rem;color:var(--text-muted)}.view-venn-unavailable{opacity:.6;cursor:not-allowed}.sets-shown-hint{margin:2px 0 0;font-size:.85rem;color:var(--text-muted)}.sets-shown-panel{margin:10px 0 0;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface)}.sets-shown-panel legend{font-weight:600;padding:0 4px}.sets-shown-summary{margin:0 0 6px;font-size:.85rem;color:var(--text-muted)}.sets-shown-list{list-style:none;margin:0;padding:0}.sets-shown-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 0;border-top:1px solid var(--hairline)}.sets-shown-list li:first-child{border-top:0}.sets-shown-list label{display:inline-flex;align-items:center;gap:6px;flex:1 1 10rem;min-width:0}.sets-shown-swatch{width:12px;height:12px;border-radius:3px;border:1px solid var(--border-strong);flex:none}.sets-shown-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sets-shown-list .is-hidden .sets-shown-name{color:var(--text-muted)}.sets-shown-count,.sets-shown-values{font-size:.85rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.palette-venn-note,.venn-union-note{margin:6px 0 0;font-size:.85rem;color:var(--text-muted)}.extra-sets-panel{margin:10px 0 0;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface)}.extra-sets-panel legend{font-weight:600;padding:0 4px}.extra-sets-summary{margin:0 0 6px;font-size:.85rem;color:var(--text-muted)}.extra-sets-list{list-style:none;margin:0;padding:0}.extra-sets-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 0;border-top:1px solid var(--hairline)}.extra-sets-row:first-child{border-top:0}.extra-sets-name{flex:1 1 8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extra-sets-count{font-size:.85rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.extra-sets-replace{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-muted)}.extra-sets-error{flex-basis:100%}.skip-link{position:absolute;left:16px;top:0;transform:translateY(-120%);z-index:1000;padding:8px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);font-weight:600}.skip-link:focus{transform:translateY(0);outline:var(--focus-ring)}input[type=radio][aria-disabled=true],input[type=checkbox][aria-disabled=true]{opacity:.55;cursor:not-allowed}label:has(>input[aria-disabled=true]){cursor:not-allowed}.load-done-notice .link-button{background:none;border:0;padding:0;min-height:32px;min-width:32px;color:var(--link-color, var(--accent));text-decoration:underline;cursor:pointer;font:inherit}.load-done-notice .link-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.sets-note{display:flex;align-items:center;gap:6px;margin:2px 0 10px}.sets-note-toggle{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;margin:-6px 0;background:none;border:0;border-radius:50%;color:var(--text-muted);cursor:pointer}.sets-note-toggle:hover,.sets-note-toggle[aria-expanded=true]{color:var(--text)}.sets-note-toggle:focus-visible,.set-row-head:focus-visible,.seg-more:focus-visible{outline:var(--focus-ring);outline-offset:2px}.sets-note-more{margin:0 0 8px;padding:0 10px;border-left:2px solid var(--hairline)}.sets-note-more .sets-hint{margin:6px 0}.sets-note-more .sets-keep-note{margin-top:6px}.seg-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:4px 0 10px}.seg-group{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0;border:0;min-width:0;font-size:13px}.seg-label{color:var(--text-muted);font-size:12.5px}.seg{display:inline-flex;flex-wrap:nowrap;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:var(--surface)}.seg-radios{display:contents}.seg-opt{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:32px;padding:0 11px;box-sizing:border-box;border:0;border-left:1px solid var(--hairline);border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}.seg>:first-child>.seg-opt:first-child,.seg>.seg-opt:first-child{border-left:0}.seg-opt input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.seg-opt.is-selected{background:var(--accent-fill);color:var(--on-accent)}.seg-opt:has(input:focus-visible){outline:var(--focus-ring);outline-offset:-2px}.seg-opt.is-disabled{color:var(--text-muted);cursor:not-allowed}.seg-opt.is-disabled input{cursor:not-allowed}.seg-opt.is-disabled:not(.is-selected){background:var(--surface-2)}.seg-radios+.seg-more{border-left:1px solid var(--hairline)}.sets-count-more-options.seg{display:inline-flex;flex-wrap:wrap}.sets-count .sets-count-more-panel{margin-top:8px}.sets-count.seg-group{flex-wrap:wrap}.sets-count.seg-group .sets-count-more-panel{flex-basis:100%}.numbers-shown.seg-group{margin:0;flex-wrap:wrap}.numbers-shown.seg-group .numbers-shown-fallback{flex-basis:100%}.set-rows-bar{display:flex;justify-content:flex-end;margin:2px 0 0}.set-rows-bar .link-button,.set-rows-foot+.link-button{background:none;border:0;padding:0 4px;min-height:32px;color:var(--text-muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:12.5px}.set-rows-bar .link-button:hover{color:var(--text)}.set-row{padding:0}.set-row-head{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 4px;box-sizing:border-box;background:none;border:0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.set-row-head:hover{background:var(--accent-soft)}.set-row-dot{flex:none;width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--border-strong)}.set-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.set-row-count{color:var(--text-muted);font-size:12.5px;font-variant-numeric:tabular-nums}.set-row-chevron{flex:none;color:var(--text-muted)}.set-row-panel{padding:4px 4px 12px}.set-row-panel[hidden]{display:none}.set-row-panel .setSize{margin-top:4px;font-size:12.5px;color:var(--text-muted)}.set-rows-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--hairline);display:flex;justify-content:flex-start}@media (max-width: 760px){.seg-opt{min-width:38px}.set-row-head{min-height:48px}}.unified-mode-controls .merge-banner{margin:0;line-height:normal;flex:1;min-width:0;text-align:left;cursor:default;color:var(--text);background:var(--accent-soft);border-bottom-color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unified-mode-controls .merge-banner:hover{background:var(--accent-soft);color:var(--text)}.merge-banner-note{color:var(--text-muted)}.set-rows{position:relative}.merge-lock-note{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;padding:6px 10px;border:1px solid var(--border-strong);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--text);font-size:13px;overflow-wrap:anywhere}.merge-locked{background:var(--surface-2);border-radius:var(--radius)}.merge-locked :disabled,.merge-locked [aria-disabled=true]{opacity:.6}.task-notice{position:fixed;right:24px;bottom:24px;z-index:1500;width:min(380px,calc(100vw - 32px));padding:14px 16px 12px;background:var(--surface);color:var(--text);border:1px solid light-dark(#dce1ea,#404245);border-left:4px solid var(--accent);border-radius:var(--radius-card);box-shadow:0 10px 30px #1c24332e;font-size:14px}.task-notice p{margin:0}.task-notice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-notice-title{overflow-wrap:anywhere;line-height:1.35}.task-notice-detail{color:var(--text-muted)}.task-notice-cancel.btn{min-height:32px;padding:4px 10px;font-size:13px;flex:none}.task-notice-bar{position:relative;height:6px;margin:10px 0 8px;background:var(--hairline);border-radius:3px;overflow:hidden}.task-notice-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .2s ease}.task-notice-bar[data-indeterminate=true] .task-notice-fill{width:30%;animation:task-notice-slide 1.2s ease-in-out infinite}@keyframes task-notice-slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion: reduce){.task-notice-bar[data-indeterminate=true] .task-notice-fill{animation:none;width:100%;opacity:.4}.task-notice-fill{transition:none}}.task-notice-stage{font-variant-numeric:tabular-nums;color:var(--text)}.task-notice-estimate{color:var(--text-muted)}.task-notice-hint{margin-top:4px!important;font-size:12px;color:var(--text-muted)}@media (max-width: 600px){.task-notice{right:16px;bottom:16px}}.task-notice-error{border-left-color:light-dark(#c53030,#af544d)}.task-notice-error .task-notice-stage{margin:6px 0 10px}.task-notice-actions{display:flex;gap:8px}.toast-region{position:fixed;left:50%;bottom:24px;z-index:1600;transform:translate(-50%);width:min(560px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 10px;background:var(--surface-2);border:1px solid var(--hairline);color:var(--text);border-radius:var(--radius);font-size:13px;pointer-events:auto}.toast-text{margin:0;color:var(--text);flex:1;overflow-wrap:anywhere}.toast-detail{color:var(--text-muted)}.toast .btn.toast-action{min-height:28px;padding:2px 10px;flex:none}.toast .btn-icon.toast-close{color:var(--text-muted);flex:none}.toast .btn-icon.toast-close:hover{color:var(--text);background:var(--accent-soft)}.toast-region.in-slot{position:static;transform:none;width:auto;margin:8px 0 0}.toast-region.in-slot:empty{margin:0}.toast-region.in-slot .toast{box-shadow:none}@media (max-width: 900px){.toast-region{bottom:16px}}.numbers-shown-note{color:var(--text-muted)}.numbers-shown-fallback{margin:4px 0 0;color:var(--text-muted);font-size:13px}.numbers-shown-desc{margin:4px 0 0;max-width:34em;min-height:2.7em;color:var(--text-muted);font-size:12.5px;line-height:1.35}.visually-hidden-desc{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.upset-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.upset-svg{display:block;max-width:none}body.upset-wide #leftColumn{max-width:none}body.upset-wide #rightColumn{display:none}.upset-wide-toggle[aria-pressed=true]{background:var(--accent-soft)}@media (max-width: 1200px){.upset-wide-toggle{display:none}}.upset-virtual{position:relative}.upset-virtual>.upset-svg{position:sticky;left:0}.upset-virtual~.upset-note{position:sticky;left:0;box-sizing:border-box;max-width:100%}.upset-bar{cursor:pointer;outline:none}.upset-bar:focus-visible .upset-hit{stroke:light-dark(#1a5fb4,#8cc4ff);stroke-width:2}.upset-note{margin:4px 12px 8px;font-size:.85rem;color:var(--text-muted)}.upset-show-more{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.upset-show-more .btn{padding:2px 10px;font-size:.85rem}.upset-more{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-card);padding:10px 12px;display:flex;flex-direction:column;gap:8px;max-width:min(22rem,calc(100vw - 48px));max-height:60vh;overflow:auto}.upset-more[hidden]{display:none}.upset-more fieldset{border:0;border-top:1px solid var(--hairline);margin:0;padding:6px 0 0;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.upset-more legend{font-weight:600;padding:0 4px 0 0}.upset-more .upset-num{width:4.5rem;margin:0;padding:3px 6px;border:1px solid var(--border-strong);border-radius:4px}.upset-set-list,.upset-group-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;width:100%}.upset-muted{color:var(--text-muted)}.diagram-view-bar{position:absolute;top:12px;left:12px;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:.9rem}.diagram-view-bar .segmented button{border:0;border-radius:0;margin:0}.diagram-view-bar .segmented>*+*{border-left:1px solid var(--border-strong)}.diagram-view-bar label{display:inline-flex;align-items:center;gap:6px}.diagram-view-bar select{width:auto;max-width:11rem;margin:0;padding:4px 8px;border:1px solid var(--border-strong);border-radius:4px;font-size:.85rem}.diagram-view-bar input[type=checkbox]{margin:0}@media (max-width: 760px){#imageContainer{flex-direction:column;align-items:stretch}.diagram-view-bar{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 8px 8px}}#diagramframe,.upset-container{min-width:0;max-width:100%}#diagramframe:has(>.upset-container){overflow:hidden}.summary-panel{margin:16px 0;padding:14px 16px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface);color:var(--text)}.summary-title{margin:0 0 6px;font-size:16px;font-weight:650;letter-spacing:-.1px}.summary-muted{margin:0 0 8px;font-size:13.5px;color:var(--text-muted)}.summary-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:0}.summary-list>li{margin:0;padding:3px 0;min-width:0}.summary-fact{display:block;width:100%;text-align:left;font:inherit;font-size:13.5px;line-height:1.45;font-variant-numeric:tabular-nums;margin:0;padding:2px 0;border:0;border-bottom:1px dotted var(--border-strong);border-radius:0;background:none;color:inherit}button.summary-fact{cursor:pointer;color:var(--accent);font-weight:400}button.summary-fact:hover{background:none;color:var(--accent-hover);border-bottom-style:solid;border-bottom-color:currentColor}button.summary-fact:focus-visible{outline:var(--focus-ring);outline-offset:1px}.summary-fact-empty{border-bottom-color:var(--hairline)}@media (max-width: 760px){.summary-list{grid-template-columns:minmax(0,1fr)}}.summary-selection{margin:0 0 12px;padding:10px 12px;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-2)}.summary-selection-title{margin:0 0 4px;font-size:14px;font-weight:650}.summary-selection-count{margin:0 0 4px;font-size:13.5px;font-variant-numeric:tabular-nums}.summary-selection-names{margin:0 0 8px;padding-left:18px;font-size:13.5px;line-height:1.45}.summary-hint{margin:0 0 8px;font-size:13px;color:var(--text-muted)}.summary-actions{margin-top:12px;display:flex;align-items:center;gap:8px}.euler-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 0;color:var(--text)}.euler-status{margin:0;font-size:.9rem;color:var(--text-muted);flex:1 1 320px}.euler-rejected{flex:1 1 320px;font-size:.9rem}.euler-rejected .euler-status{color:var(--text)}.euler-rejected ul{margin:4px 0 0;padding-left:20px}.euler-actions{display:flex;gap:8px}.euler-view{position:relative}.euler-view .euler-region{cursor:pointer;outline:none}.euler-view .euler-region:focus-visible .count-hit-area{stroke:var(--accent);stroke-width:2px}.euler-svg{display:block;margin:0 auto}.euler-readout{padding:8px 12px;font-size:.9rem;color:var(--text)}.euler-fidelity{margin:0 0 6px}.euler-table{border-collapse:collapse;margin-top:6px;font-variant-numeric:tabular-nums}.euler-table th,.euler-table td{padding:2px 10px;border-bottom:1px solid var(--hairline);text-align:right}.euler-table th[scope=row],.euler-table th:first-child{text-align:left;font-weight:500}.euler-missing td:last-child{color:var(--text-muted);font-style:italic}.view-euler-unavailable{opacity:.55}.diagram-view-bar .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}#imageContainer.euler-mode{flex-direction:column;align-items:stretch}#imageContainer.euler-mode #diagramframe{width:100%}.euler-view{padding-top:56px}.euler-strip{padding:0 16px 12px;border-top:1px solid var(--hairline)}@media (max-width: 760px){.euler-view{padding-top:0}}.euler-actions{flex-wrap:wrap;align-items:center}.euler-k{display:inline-flex;align-items:center;gap:6px;font-size:.9rem}.euler-k input{width:5rem;margin:0;padding:4px 8px;border:1px solid var(--border-strong);border-radius:var(--radius);font-size:.9rem}.euler-hidden-note,.euler-table-note{font-size:.85rem;color:var(--text-muted);margin:4px 0}.euler-hidden-alert{position:relative;display:inline-flex}.euler-hidden-trigger{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border:1px solid light-dark(#b45309,#f5b56b);border-radius:var(--radius);background:light-dark(#fffbeb,#2a2113);color:var(--text);font:inherit;font-size:13px;cursor:pointer}.euler-hidden-trigger:focus-visible{outline:var(--focus-ring);outline-offset:2px}.euler-hidden-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:240px;max-width:min(360px,90vw);max-height:260px;overflow:auto;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:13px}.diagram-toolbar .euler-hidden-panel{left:auto;right:0}.euler-hidden-panel ul{margin:0;padding:0;list-style:none}.euler-hidden-panel li{display:flex;gap:12px;justify-content:space-between;padding:2px 0;border-bottom:1px solid var(--hairline)}.euler-hidden-count{font-variant-numeric:tabular-nums;font-weight:600}.euler-hidden-why{color:var(--text-muted)}.euler-empty-stage{display:flex;align-items:center;justify-content:center;min-height:320px;padding:32px 16px;text-align:center}.euler-empty-inner{max-width:480px}.euler-empty-text{margin:0 0 12px;color:var(--text)}.euler-empty-rejected ul{margin:0 0 12px;padding-left:20px;text-align:left;color:var(--text-muted);font-size:.9rem}.euler-empty-steps{margin:0 0 12px;padding-left:22px;text-align:left;color:var(--text)}.euler-empty-steps li{margin:4px 0}.euler-empty-warning{margin:0 0 12px;color:light-dark(#744210,#f0c987);font-size:.9rem}.euler-empty-limits{margin:0;color:var(--text-muted);font-size:.85rem}.euler-empty-link{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.euler-empty-link:hover{color:var(--accent-hover)}.euler-empty-link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.intersections-panel{display:flex;flex-direction:column;gap:16px}.intersections-h{font-size:1rem;margin:0 0 6px}.query-sets{display:flex;flex-wrap:wrap;gap:8px 16px}.query-set{border:1px solid var(--hairline);border-radius:var(--radius);padding:4px 10px 6px;margin:0;display:flex;gap:10px;align-items:center}.query-set legend{font-weight:600;padding:0 4px;max-width:14rem;overflow-wrap:anywhere}.query-set label{display:inline-flex;align-items:center;gap:4px}.query-result{margin:8px 0 4px}.query-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bookmark-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.bookmark-list li{display:flex;align-items:center;gap:10px}.bookmark-count{font-variant-numeric:tabular-nums;color:var(--text-muted)}.intersections-panel .btn-link{background:none;border:0;padding:0;color:var(--link-color, var(--accent));text-decoration:underline;cursor:pointer;font:inherit;text-align:left}.intersections-details summary{cursor:pointer;font-weight:600}.diagram-description{margin:8px 0;line-height:1.5}.intersections-table-wrap{overflow-x:auto}.intersections-table{border-collapse:collapse;width:100%;font-size:.9rem}.intersections-table th,.intersections-table td{border-bottom:1px solid var(--hairline);padding:4px 8px;text-align:right;font-variant-numeric:tabular-nums}.intersections-table th[scope=row],.intersections-table thead th:first-child{text-align:left}.intersections-table .th-sort{background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer}.intersections-table .bookmark-toggle[aria-pressed=true]{background:var(--accent-soft)}.intersections-panel .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tour-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1700}.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:light-dark(rgb(15 23 42 / .55),rgb(0 0 0 / .65))}.tour-spotlight{position:fixed;border-radius:4px;outline:var(--focus-ring);outline-offset:0;pointer-events:none;transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease}.tour-balloon{position:fixed;box-sizing:border-box;width:min(380px,calc(100vw - 16px));padding:14px 16px 12px;border-radius:var(--radius-card);border:1px solid light-dark(#cbd5e1,#3b4250);background:light-dark(#ffffff,#1f232b);color:var(--text);box-shadow:0 12px 32px light-dark(rgb(15 23 42 / .3),rgb(0 0 0 / .6))}.tour-balloon:focus{outline:none}.tour-balloon:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion: reduce){.tour-spotlight,.tour-balloon{transition:none}}@media (max-width: 600px){.tour-balloon{width:calc(100vw - 16px)}}.tour-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-topic{margin:0;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-muted)}.tour-close{margin:-6px -8px -6px 0}.tour-title{margin:4px 0 6px;font-size:17px;font-weight:600;color:var(--text)}.tour-body{margin:0;font-size:14px;line-height:1.5;color:var(--text)}.tour-note{display:block;margin-top:8px;padding:6px 8px;border-radius:6px;background:light-dark(#ebf4ff,#1c2a3d);color:light-dark(#1e4e8c,#b9d4f5);font-size:13px}.tour-actions{display:flex;align-items:center;gap:8px;margin-top:12px}.tour-dots{display:inline-flex;gap:5px;margin-right:auto}.tour-dot{width:7px;height:7px;border-radius:50%;background:light-dark(#cbd5e1,#4a5263)}.tour-dot[data-on=true]{background:var(--accent)}.tour-nudge{position:fixed;left:16px;bottom:24px;z-index:1600;box-sizing:border-box;width:min(340px,calc(100vw - 32px));padding:12px 14px;border-radius:var(--radius-card);border:1px solid light-dark(#cbd5e1,#3b4250);background:light-dark(#ffffff,#1f232b);color:var(--text);box-shadow:0 8px 24px light-dark(rgb(15 23 42 / .2),rgb(0 0 0 / .5))}@media (max-width: 760px){.tour-nudge{left:16px;bottom:96px}}.tour-nudge-text{margin:0 0 10px;font-size:14px;line-height:1.45;color:var(--text)}.tour-nudge-text strong{color:var(--text)}.tour-nudge-actions{display:flex;flex-wrap:wrap;gap:8px}.help-tours{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.tour-list{list-style:none;margin:0;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-card);overflow:hidden}.tour-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:0 8px 0 0;border-top:1px solid var(--hairline)}.tour-row:first-child{border-top:0}.tour-row:hover,.tour-row:focus-within{background:var(--accent-soft)}.tour-row-main{display:flex;flex:1 1 auto;align-items:center;gap:8px;min-height:40px;padding:6px 10px;border:0;background:transparent;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.tour-row-main:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.tour-row-mark{display:inline-flex;flex:0 0 18px;justify-content:center;color:var(--accent)}.tour-row-title{font-weight:600}.tour-row-status{font-size:12.5px;color:var(--text-muted)}.tour-row[data-status=stale] .tour-row-status{color:light-dark(#8a4b00,#f0b86e)}.tour-row-extra.btn{padding:2px 8px;font-size:12.5px}.tour-row-desc{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tour-list-hint{min-height:2.9em;margin:6px 2px 0;font-size:13px;line-height:1.45;color:var(--text-muted)}.tour-shield{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;cursor:progress}.tour-demo-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--hairline)}.tour-demo-status{margin:0;min-width:0;font-size:13px;line-height:1.35;color:var(--text-muted)}.tour-demo-bar .btn{flex:none}.tour-cursor{position:fixed;left:0;top:0;z-index:1;width:0;height:0;pointer-events:none;transition-property:transform;transition-timing-function:cubic-bezier(.3,.1,.2,1)}.tour-cursor[data-motion=jump]{transition:none}.tour-cursor-arrow{position:absolute;left:0;top:0;fill:var(--text);stroke:var(--surface);stroke-width:1.5;stroke-linejoin:round}.tour-ripple{position:absolute;left:-14px;top:-14px;width:28px;height:28px;box-sizing:border-box;border-radius:50%;border:2px solid var(--text);background:transparent;animation:tour-ripple .45s ease-out forwards}.tour-ripple[data-static]{animation:none}@keyframes tour-ripple{0%{transform:scale(.3);opacity:.9}to{transform:scale(1.6);opacity:0}}@media (prefers-reduced-motion: reduce){.tour-cursor{transition:none}.tour-ripple{animation:none}}:root{color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media print{:root,:root[data-theme=dark]{color-scheme:light}}:root{--page: light-dark(#fafaf8, #16181d);--surface: light-dark(#ffffff, #1b2029);--surface-2: light-dark(#f3f3f0, #232a35);--header-surface: light-dark(#fafaf8, #16181d);--hairline: light-dark(#e2e2dd, #2e3746);--border-strong: light-dark(#7d8189, #6b798c);--text: light-dark(#17191c, #e3e9f0);--text-muted: light-dark(#5a5f66, #9eabbb);--accent: light-dark(#1d2126, #e6e8ec);--accent-hover: light-dark(#000000, #ffffff);--accent-soft: light-dark(#eeeeea, #262a31);--accent-fill: light-dark(#1d2126, #e6e8ec);--accent-fill-hover: light-dark(#000000, #ffffff);--on-accent: light-dark(#ffffff, #16181d);--page-glow: radial-gradient(900px 420px at 8% -8%, light-dark(rgba(0, 114, 178, .1), rgba(0, 114, 178, .16)), transparent 60%), radial-gradient(700px 380px at 100% -6%, light-dark(rgba(230, 159, 0, .09), rgba(230, 159, 0, .1)), transparent 60%);--radius: 6px;--radius-card: 8px;--focus-ring: 2px solid var(--accent);--diagram-background: light-dark(#ffffff, #16181d);--body-background: var(--page);--content-background: var(--surface);--right-column-background: var(--surface);--primary-text: var(--text);--secondary-text: var(--text-muted);--link-color: var(--accent);--link-hover-color: var(--accent-hover);--border-color: var(--hairline);--input-border: var(--border-strong);--input-background: var(--surface);--focus-border: var(--accent);--primary-button: var(--accent-fill);--primary-button-hover: var(--accent-fill-hover);--success: light-dark(#38a169, #2a965f);--warning: light-dark(#d69e2e, #aa7500);--error: light-dark(#e53e3e, #e0393a)}.btn{--btn-tone: var(--border-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:6px 14px;font:inherit;font-size:14px;font-weight:500;line-height:1.2;color:var(--text);background:var(--surface);border:1px solid var(--btn-tone);border-radius:var(--radius);box-shadow:none;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-2)}.btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn .icon{flex:none;color:var(--text-muted)}.btn-primary{color:var(--on-accent);background:var(--accent-fill);border-color:var(--accent-fill)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){color:var(--on-accent);background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.btn-primary .icon{color:currentColor}.btn-danger{--btn-tone: light-dark(#c53030, #f7857c);color:light-dark(#c53030,#f7857c)}.btn-danger .icon{color:currentColor}.btn-danger:hover:not(:disabled):not([aria-disabled=true]){background:light-dark(#fff5f5,#2a1f22)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius);cursor:pointer;transition:background-color .12s ease,color .12s ease}.btn-icon .icon{width:18px;height:18px}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.btn-icon:focus{outline:none}.btn-icon:focus-visible{outline:var(--focus-ring);outline-offset:2px}.icon.inline-icon{vertical-align:-.15em;color:var(--text-muted)}.icon.inline-icon.ok{color:light-dark(#2f855a,#6cbf91)}.icon.inline-icon.bad{color:light-dark(#c53030,#f7857c)}.duplicate-title{display:flex;align-items:center;gap:8px}.duplicate-title .icon{color:light-dark(#c53030,#f7857c);flex:none}.btn.shuffle-button{white-space:nowrap}.btn.btn-small{min-height:28px;gap:6px;padding:3px 10px;font-size:12px}
