:root{--surface: #f9f9f9;--text: #1a1a1a;--text-muted: #55565c;--border: #d8d8dc;--accent: #00a89d;--accent-contrast: #ffffff;--focus-ring: #f15a29;--brand-navy: #26235e;--brand-green: #8cc63e;--text-on-navy: #ffffff;--historical: #8a6d3b;--historical-bg: #fbf3e6;--current: #1f6f5c;--current-bg: #e6f5f2;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--radius: 24px;--radius-sm: 8px;--max-width: 960px;--matrix-max-width: 1040px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3{font-weight:700;line-height:1.2;margin:0 0 var(--space-md)}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.25rem,3vw,1.75rem)}p{margin:0 0 var(--space-md);max-width:68ch}.container{width:100%;max-width:min(94vw,1440px);margin:0 auto;padding:0 var(--space-lg)}a{color:var(--current)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.site-header,.site-footer{background:#fff;border-bottom:1px solid var(--border)}.site-footer{border-top:1px solid var(--border);border-bottom:none}.site-footer .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);padding-top:var(--space-md);padding-bottom:var(--space-md)}.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-md)}.topbar-inner{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md);padding-top:var(--space-md);padding-bottom:var(--space-md)}.logo{display:flex;align-items:center;gap:var(--space-sm);font-weight:700;text-decoration:none;color:var(--text)}.topbar-menu{display:flex;gap:var(--space-sm)}.topbar-action{background:none;color:var(--text);font-weight:700;font-size:.85rem;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm)}.topbar-action:hover{background:var(--surface);border-bottom:3px solid var(--focus-ring)}.topbar-details{background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:.8rem;margin:0 0 0 auto;max-width:380px;line-height:1.4}main{padding-bottom:var(--space-xxl)}section{padding:var(--space-xl) 0}#top,#origem,#evolucao{background:var(--brand-navy);color:var(--text-on-navy)}#top{padding-top:calc(var(--space-xxl) * 1.3)}#evolucao{padding-bottom:calc(var(--space-xxl) * 1.3)}#top h1,#top h2,#origem h2,#evolucao h2{color:var(--text-on-navy)}#top p,#origem p,#evolucao p{color:var(--text-on-navy);opacity:.92}#top p.origin-badge{font-size:.85rem;opacity:.75}#origem .references-list li{border-bottom-color:#ffffff40}#evolucao code{background:#ffffff24;color:var(--text-on-navy);padding:1px 5px;border-radius:4px}.hero-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xl)}.hero-copy{flex:1 1 340px;max-width:68ch}.hero-copy h1{margin-bottom:var(--space-sm)}#top p.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.85rem;color:var(--brand-green);opacity:1;margin:0 0 var(--space-sm)}.hero-icons{flex:1 1 220px;display:flex;justify-content:center;gap:var(--space-sm)}.hero-icon{width:76px;height:120px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.hero-icon svg{width:36px;height:36px}.hero-icon--orange{background:var(--focus-ring)}.hero-icon--green{background:var(--brand-green)}.hero-icon--teal{background:var(--accent)}#app{display:flex;flex-direction:column;min-height:100dvh}.site-header{flex:0 0 auto}#matriz{flex:1 0 auto;display:flex;padding:var(--space-lg) 0}#matriz .container{width:100%}.matrix-host{height:100%}.matrix-shell{position:relative;height:100%;overflow-x:auto}.matrix-grid{display:grid;grid-template-columns:minmax(90px,130px) repeat(12,minmax(0,1fr));grid-template-rows:auto auto repeat(3,minmax(150px,1fr));width:100%;height:100%;border:1px solid var(--border);background:#fff;border-radius:var(--radius-sm)}.matrix-corner{grid-column:1}.matrix-col-header,.matrix-row-header,.matrix-corner{display:flex;align-items:center;justify-content:center;padding:var(--space-sm);font-size:.8rem;font-weight:700;text-align:center;background:var(--surface);border:1px solid var(--border);transition:background .1s ease}.matrix-description-band{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px;font-size:.7rem;font-weight:700;text-align:center;background:#fff;border:1px solid var(--border);border-bottom:none;color:var(--text-muted);transition:background .1s ease}.matrix-description-sub{font-size:.62rem;font-weight:400;font-style:italic}.matrix-description-sub--upright{font-style:normal}.matrix-cell{border:1px solid var(--border);position:relative;cursor:pointer;transition:background .1s ease}.matrix-cell:hover,.matrix-cell:focus-within{background:var(--current-bg)}.matrix-cell:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.matrix-svg{position:absolute;top:0;left:0;pointer-events:none}.content-node{pointer-events:auto;cursor:grab;stroke-width:3;touch-action:none}.content-node:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.content-node[data-dragging=true]{cursor:grabbing;opacity:.85}.content-node.is-selected{stroke-width:4}.add-influence-glyph{pointer-events:auto;cursor:pointer;fill:var(--focus-ring);stroke:#fff;stroke-width:1.5}.add-influence-glyph-label{font-size:12px;font-weight:700;fill:#fff;text-anchor:middle;pointer-events:none}.content-node-label{font-size:10px;font-weight:700;fill:var(--text);pointer-events:none;text-anchor:middle}.influence-node{pointer-events:auto;cursor:grab;stroke:#fff;stroke-width:1.5;touch-action:none;opacity:.85}.influence-node:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.influence-node[data-dragging=true]{cursor:grabbing;opacity:.6}.influence-node.is-selected{stroke:var(--focus-ring);stroke-width:3;opacity:1}.edit-influence-glyph{pointer-events:auto;cursor:pointer;fill:var(--current);stroke:#fff;stroke-width:1.5}.edit-influence-glyph-label{font-size:10px;fill:#fff;text-anchor:middle;pointer-events:none}.influence-line{stroke:var(--text-muted);stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}.relationship-line{stroke:var(--text);stroke-width:2;pointer-events:none}button{font:inherit;font-weight:700;padding:var(--space-sm) var(--space-lg);border-radius:999px;border:none;background:var(--accent);color:var(--accent-contrast);cursor:pointer}.results-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-lg)}.results-entry+.results-entry{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border)}.results-entry.is-selected .results-header{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}.results-header{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-md)}.color-swatch{width:18px;height:18px;border-radius:4px;display:inline-block;vertical-align:middle;flex-shrink:0}.content-name{cursor:pointer;border-bottom:1px dashed transparent}.content-name:hover,.content-name:focus-visible{border-bottom-color:var(--text-muted)}.content-name-input{font:inherit;font-weight:700;border:1px solid var(--accent);border-radius:var(--radius-sm);padding:1px 6px;min-width:8ch}.position-badge{font-size:.8rem;color:var(--text-muted);background:var(--surface);border-radius:999px;padding:2px 10px}.resultbox{display:flex;flex-wrap:wrap;gap:var(--space-md);list-style:none;padding:0;border-top:4px solid var(--accent);padding-top:var(--space-md)}.resultbox>li{flex:1 1 260px;border-left:2px solid var(--border);padding-left:var(--space-md)}.resultbox h5{margin:0 0 var(--space-sm);font-size:.95rem}.resultbox p{font-size:.9rem;margin:0 0 var(--space-sm)}.resultbox .muted{color:var(--text-muted);font-size:.8rem}.hybridization-example{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--border)}.provenance-tag{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;margin-bottom:var(--space-sm)}.provenance-tag.historical{background:var(--historical);color:#fff}.provenance-tag.current{background:var(--current);color:#fff}.provenance-tag.pending{background:var(--text-muted);color:#fff}.evolution-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg)}.evolution-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-md);color:var(--text)}#evolucao .evolution-card p{color:var(--text);opacity:1}.evolution-card .year{font-size:1.5rem;font-weight:700;color:var(--accent)}.references-list{list-style:none;padding:0}.references-list li{padding:var(--space-sm) 0;border-bottom:1px solid var(--border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a99;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-xl) var(--space-md);z-index:100;overflow-y:auto}.modal-box{position:relative;background:#fff;border:1px solid var(--focus-ring);border-radius:var(--radius-sm);max-width:640px;width:100%;padding:var(--space-xl) var(--space-lg) var(--space-lg)}.modal-box h3{font-size:1rem;margin-top:var(--space-lg)}.modal-box ul{padding-left:var(--space-lg)}.modal-box li{margin-bottom:var(--space-sm)}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);width:28px;height:28px;padding:0;border-radius:999px;background:var(--focus-ring);color:#fff;line-height:1}.consent-card{position:fixed;left:var(--space-lg);bottom:var(--space-lg);z-index:1000;width:420px;max-width:calc(100% - 2 * var(--space-lg));padding:var(--space-lg);border-radius:var(--radius);background:var(--brand-navy);color:var(--text-on-navy);box-shadow:0 12px 32px #0000004d}.consent-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.consent-card-title{margin:0 0 var(--space-sm);font-size:1.1rem}.consent-card-text{margin:0 0 var(--space-lg);font-size:.95rem}.consent-card-text a{color:var(--text-on-navy);text-decoration:underline}.consent-card-status{margin:var(--space-sm) 0 0;font-size:.85rem;opacity:.8}.consent-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:flex-end}.consent-btn{border-radius:999px;padding:var(--space-sm) var(--space-lg);font-family:inherit;font-weight:700;font-size:.95rem;cursor:pointer;border:2px solid transparent}.consent-btn--decline{background:transparent;border-color:var(--text-on-navy);color:var(--text-on-navy)}.consent-btn--accept{background:var(--brand-green);color:var(--brand-navy)}.consent-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.consent-btn.is-current{box-shadow:0 0 0 3px var(--focus-ring)}.consent-reopen{position:fixed;left:var(--space-lg);bottom:var(--space-lg);z-index:1000;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;border:none;background:var(--brand-green);cursor:pointer;box-shadow:0 4px 12px #00000040}.consent-reopen svg{width:24px;height:24px;flex-shrink:0;stroke:var(--brand-navy)}.consent-reopen svg circle[fill]{fill:var(--brand-navy)}.consent-reopen:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}@media(max-width:600px){body{font-size:15px}.matrix-grid{grid-template-columns:110px repeat(12,minmax(56px,1fr))}.consent-card{left:var(--space-md);right:var(--space-md);bottom:var(--space-md);width:auto;max-width:none}.consent-card-actions{justify-content:stretch}.consent-card-actions .consent-btn{flex:1 1 auto;text-align:center}}@media print{@page{size:landscape}.topbar-menu,.topbar-details,.modal-overlay,#top,#origem,#evolucao,.consent-card,.consent-reopen{display:none!important}body{background:#fff}.site-header{border-bottom:none;break-after:avoid}.topbar-inner{padding-top:0;padding-bottom:var(--space-sm)}#matriz{break-before:avoid}.container{max-width:100%}#app{display:block;min-height:0}#matriz{display:block;padding:0 0 var(--space-md)}.matrix-host,.matrix-shell,.matrix-grid{height:auto}.matrix-shell{overflow:visible}.matrix-svg{width:100%!important;height:100%!important}section{padding:var(--space-md) 0;break-inside:avoid}#resultado{break-inside:auto}}
