
*{box-sizing:border-box}body{margin:0;background:#0d151b;color:#eaf1ed;font:14px system-ui,sans-serif}button,input,a{font:inherit}button,a{cursor:pointer}header{height:86px;padding:20px 30px;border-bottom:1px solid #2b373d;display:flex;align-items:center;justify-content:space-between}header strong{font-size:22px;letter-spacing:-.7px}small,.muted{color:#98acae}.brand{display:flex;gap:14px;align-items:center}.mark{font-size:29px;color:#b5dfbd}header a{color:#d5e8dc;text-decoration:none;border:1px solid #41554e;padding:10px 15px;border-radius:8px}main{display:grid;grid-template-columns:240px 1fr 280px;height:calc(100vh - 86px)}aside{padding:26px 22px;overflow:auto;border-right:1px solid #29383b}h1{font:32px Georgia,serif;margin:10px 0 12px}h2{font:26px Georgia,serif;margin:8px 0 18px}p{line-height:1.6;color:#aebfc0}.eyebrow{font-size:10px;letter-spacing:2px;color:#a2c2b1;text-transform:uppercase}input{width:100%;background:#15232a;border:1px solid #35474d;padding:11px;border-radius:7px;color:white;margin:15px 0}button{background:#16242a;color:#d6e5df;border:1px solid #33464a;border-radius:7px;padding:9px 12px}button:hover,button.active{background:#2b483d;border-color:#80b995;color:#eaffec}.emotion{width:100%;display:flex;justify-content:space-between;margin:5px 0;text-align:left;border-color:transparent;background:transparent}.stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#182b2e 0,#0d171e 72%)}.stage::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#52635c 0.6px,transparent .6px);background-size:24px 24px;opacity:.15;pointer-events:none}.stage-head{position:absolute;top:24px;left:26px;z-index:2;pointer-events:none}.legend{display:flex;gap:16px;margin-top:12px;font-size:11px;color:#aebfc0}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.toolbar{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:6px;white-space:nowrap}.hint{position:absolute;bottom:75px;width:100%;text-align:center;color:#8ea6a7;font-size:11px;pointer-events:none}svg{width:100%;height:100%;touch-action:none}svg text{font-size:12px;fill:#dfebe6;pointer-events:none;paint-order:stroke;stroke:#101d23;stroke-width:4px;stroke-linejoin:round}svg .node{cursor:grab}svg .node:focus{outline:none}svg .node:focus circle{stroke:white;stroke-width:3}.details{border-left:1px solid #29383b;border-right:0;background:#101c23}.pill{font-size:10px;letter-spacing:1px;border:1px solid #3a5458;padding:5px 8px;border-radius:30px;display:inline-block}.linkrow{display:block;text-align:left;width:100%;margin:7px 0;line-height:1.4}.section-label{font-size:10px;letter-spacing:1.5px;color:#7fa997;margin:26px 0 10px}.note{font-size:11px;line-height:1.6;color:#8fa5aa;border-top:1px solid #2b3b40;padding-top:16px;margin-top:24px}.note a{color:#b8d9c9}.count{color:#83a69a;font-size:11px;margin-top:14px}#results button{width:100%;text-align:left;margin:3px 0}#results:empty{display:none}@media(max-width:1000px){main{grid-template-columns:190px 1fr}.details{display:none}aside{padding:20px 14px}}@media(max-width:600px){header{padding:14px;height:72px}header small{display:none}header a{font-size:11px}main{height:auto;display:flex;flex-direction:column}aside{max-height:240px}h1{font-size:24px}#emotions{display:flex;gap:5px;overflow:auto}.emotion{width:auto;white-space:nowrap}.stage{height:65vh;min-height:430px}.details{display:block;max-height:none}.stage-head{left:14px;top:16px}}
select{width:100%;margin:8px 0 16px;padding:9px;background:#17262d;color:#e4efeb;border:1px solid #41544f;border-radius:6px}.details{font-size:13px}.details small{display:block;margin:6px 0}.source-link{display:block;color:#bad9c8;margin:9px 0;line-height:1.5}.legend{flex-wrap:wrap;max-width:520px}.linkrow small{font-size:10px}.edge{cursor:pointer}.edge:hover{stroke:#fff;stroke-width:3}.badge{font-size:10px;color:#a6c6bc}.details h3{font-size:15px;margin-top:24px}#emotions{max-height:360px;overflow:auto}#viewtitle{max-width:540px}dialog{background:#13212a;color:#e0ece6;border:1px solid #50645f;border-radius:14px;max-width:800px;width:90vw;max-height:85vh;padding:28px}dialog::backdrop{background:#000a}dialog a{color:#b8dbca}@media(min-width:1001px){main{grid-template-columns:245px 1fr 320px}}@media(max-width:1000px){.details{display:block;position:relative;grid-column:1/-1;max-height:none}main{height:auto;grid-template-rows:calc(100vh - 86px) auto}}@media(max-width:600px){.stage-head h2{font-size:22px;max-width:300px}.legend{font-size:9px;gap:8px}#emotions{max-height:80px}}
.comparison-group{margin-top:20px}.comparison-group h3{color:#d4c596}.shared-tag{color:#edce82}#comparemode{font-size:12px}.stage-head{max-width:90%}#viewtitle{font-size:24px}.comparison-note{font-size:11px;color:#c7bba0}#totals{font-size:11px} .legend{gap:9px}#node-types{border:1px solid #35494a;border-radius:9px;padding:10px;margin:8px 0 22px}#node-types legend{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:#a2c2b1}#type-options{display:grid;gap:8px;margin:12px 0}.type-option{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer}.type-option input{width:16px;height:16px;margin:0;accent-color:#a1d5b7;flex-shrink:0}.type-option .type-total{margin-left:auto;font-size:10px;color:#94aba7}.type-swatch{width:7px;height:7px;border-radius:50%;flex-shrink:0}.type-actions{display:flex;gap:6px}.type-actions button{font-size:11px;padding:5px 9px}#node-types small{font-size:10px;line-height:1.5;display:block}#empty-graph{position:absolute;top:45%;left:12%;width:76%;text-align:center;line-height:1.7;color:#b7c9c3;pointer-events:none}#empty-graph[hidden]{display:none}@media(max-width:600px){#type-options{grid-template-columns:1fr 1fr}aside:first-child{max-height:400px}}
.tradition-presets{display:grid;gap:6px;margin:10px 0}.tradition-presets button{font-size:11px;text-align:left;padding:7px}.source-meta{font-size:11px;color:#a6c7dc;line-height:1.5}.stage{display:flex;flex-direction:column}.stage-head{position:relative;top:auto;left:auto;max-width:100%;padding:20px 26px 12px;flex-shrink:0;background:#101d23;pointer-events:none}.stage>svg{flex:1;min-height:0;height:auto}.legend{pointer-events:auto;max-width:none;gap:7px;margin-top:8px}.legend-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;font-size:11px;line-height:1.2;border-radius:20px;border:1px solid #4c6960;background:#1d352d;color:#e2f0e7;min-height:32px}.legend-toggle .dot{margin:0;flex-shrink:0}.legend-toggle[aria-pressed="false"]{background:#152127;border:1px dashed #4a5559;color:#9caaad}.legend-toggle[aria-pressed="false"] .legend-label{text-decoration:line-through}.legend-toggle[aria-pressed="false"] .dot{opacity:.35}.legend-toggle:hover{border-color:#b8d8c6}.legend-toggle:focus-visible{outline:2px solid #efce87;outline-offset:3px}.legend-number{font-size:10px;opacity:.7}.legend-help{display:block;margin-top:9px;font-size:10px;color:#91aaa0}@media(max-width:600px){.stage-head{padding:14px 14px 10px}.legend-toggle{font-size:10px;padding:6px 8px}.stage{height:80vh;min-height:560px}}
.edge-label{fill:#dbe8e2;font-size:10px;paint-order:stroke;stroke:#10201b;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.edge-label-control{pointer-events:auto;cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin:6px 0;font-size:12px}.edge-label-control input{pointer-events:auto;cursor:pointer;width:auto;margin:0;accent-color:#8ac9ad}.download-inputs{font-size:11px;line-height:1.8}.download-inputs a{color:#bad9c8}header{height:132px;gap:20px}.brand{min-width:0}.brand strong{display:block;font-size:clamp(17px,1.8vw,22px);line-height:1.25;max-width:780px}.byline{font-size:13px;color:#d4e4dc;margin-top:6px}.project-descriptor{font-size:11px;color:#98acae;margin-top:5px}header>a{flex-shrink:0}main{height:calc(100vh - 132px)}@media(max-width:1000px){main{height:auto;grid-template-rows:calc(100vh - 132px) auto}}@media(max-width:600px){header{height:auto;min-height:132px;flex-wrap:wrap;gap:12px}.brand strong{font-size:18px}.project-descriptor{line-height:1.5}main{height:auto}}.downloads{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.downloads a{font-size:12px;padding:8px 10px}header{height:auto;min-height:86px;gap:16px;flex-wrap:wrap}@media(max-width:900px){.downloads{justify-content:flex-start}header{padding:14px 20px}}
.stage-head{padding:12px 26px 10px}#viewtitle{font-size:20px;margin:0 0 6px}.stage-head .legend{margin-top:5px}.stage-head .legend-help{margin-top:6px}
.toolbar{bottom:12px;right:16px;left:auto;transform:none}
.stage-head .legend-toggle{min-height:24px;padding:3px 8px}.stage-head .legend{row-gap:5px}
.language-picker{position:relative;z-index:30;flex-shrink:0}.language-picker button{font-size:12px;display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;white-space:nowrap}.language-flags{display:inline-flex;align-items:center;justify-content:center;gap:3px;width:43px;flex:0 0 43px}.language-flags svg{width:20px;height:14px;border-radius:2px;box-shadow:0 0 0 1px #ffffff30;flex:none}.language-picker #language-menu{position:absolute;right:0;top:calc(100% + 7px);min-width:174px;padding:5px;background:#14242b;border:1px solid #41554e;border-radius:9px;box-shadow:0 10px 25px #0006}.language-picker #language-menu[hidden]{display:none}.language-option{width:100%;border:0;text-align:left;background:transparent}.language-option[aria-checked="true"]{background:#2b483d}.language-picker button:focus-visible{outline:2px solid #b5dfbd;outline-offset:2px}header .downloads{align-items:center}
html[lang="fr"] .brand strong{font-size:clamp(14px,1.45vw,18px)}@media(min-width:901px){html[lang="fr"] header{flex-wrap:nowrap}html[lang="fr"] .brand{flex:1 1 0;min-width:0}html[lang="fr"] header .downloads{flex:0 0 auto;margin-left:auto}}
main>aside:first-child{font-size:12px}main>aside:first-child :is(h1,p,button,input,select,label,small,.eyebrow,.section-label,.count,.note){font-size:12px}main>aside:first-child h1{font-family:inherit;line-height:1.4;font-weight:600}main>aside:first-child .emotion{padding:5px 8px;margin:2px 0}#emotions{max-height:260px;overflow-y:auto;margin:0 0 16px}
#analytics-consent{position:fixed;inset:auto 16px 20px;margin:0 auto;width:min(480px,calc(100vw - 32px));max-width:480px;border:1px solid #526b61;border-radius:12px;padding:18px 20px;background:#15252b;color:#eaf1ed;box-shadow:0 12px 45px #0007}#analytics-consent::backdrop{background:#08111666}#analytics-consent h2{font:600 17px system-ui;margin:0 0 8px}#analytics-consent p{font:12px/1.6 system-ui;margin:0 0 14px}.consent-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.consent-actions button{font-size:12px}.consent-actions .consent-accept{background:#2b483d;border-color:#80b995}#analytics-settings{font-size:11px;margin-top:8px;background:transparent;color:#aebfc0;border-color:transparent;padding:4px 0;text-decoration:underline}
#analytics-consent{width:min(420px,calc(100vw - 24px));max-width:420px;inset:auto 12px 12px;padding:12px 14px;border-radius:9px}#analytics-consent>p{font-size:11px;line-height:1.45;margin:0 0 9px}#analytics-consent .consent-actions{gap:6px}#analytics-consent .consent-actions button{font-size:11px;padding:5px 10px}#analytics-consent .consent-options[hidden]{display:none}#analytics-consent .consent-options p{font-size:11px;margin:6px 0}#analytics-consent .consent-options label{display:flex;align-items:center;gap:7px;font-size:11px}#analytics-consent .consent-options input{width:auto;margin:4px 0}

/* Compact header and independently collapsible controls/details. */
body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}header{padding:10px 18px;min-height:64px;gap:10px;flex:0 0 auto}header .brand strong,html[lang="fr"] .brand strong{font-size:clamp(14px,1.35vw,18px);max-width:720px}.byline{margin-top:3px;font-size:12px}.byline a{border:0;padding:0;text-decoration:underline;border-radius:0}.mark{font-size:25px}.downloads a{padding:6px 8px}.language-picker button{min-height:30px;padding:5px 8px}
main{--left-width:250px;--right-width:320px;display:grid;grid-template-columns:var(--left-width) minmax(0,1fr) var(--right-width);grid-template-rows:minmax(0,1fr);height:auto;flex:1;min-height:0}main.left-collapsed{--left-width:36px}main.right-collapsed{--right-width:36px}main>aside{padding:10px 12px;max-height:none;min-height:0;overflow:auto}#right-panel{border-left:1px solid #29383b;border-right:0;background:#101c23}#right-panel .details{border:0;padding:8px 0;display:block;position:static}main>aside.is-collapsed{padding:8px 4px;overflow:hidden}.panel-toggle{font-size:11px!important;padding:5px 7px;width:100%;margin-bottom:8px}.is-collapsed .panel-toggle{writing-mode:vertical-rl;width:27px;white-space:nowrap;padding:9px 4px}.view-controls{display:flex;flex-direction:column;gap:2px;margin:10px 0}.view-controls .edge-label-control{font-size:12px;margin:3px 0}.view-controls .legend{gap:5px;margin:8px 0}.view-controls .legend-toggle{font-size:11px!important;min-height:24px;padding:3px 7px;gap:4px}.wide{width:100%}#emotions{max-height:200px}.stage{height:auto;min-height:0}.stage-head{padding:10px 18px 6px}#viewtitle{font-size:20px;margin:0}.hint{bottom:56px;padding:0 10px}.toolbar{gap:4px;right:12px}.toolbar button{font-size:11px;padding:7px 9px}[hidden]{display:none!important}
@media(min-width:701px) and (max-width:1100px){main{--left-width:210px;--right-width:260px}header{flex-wrap:wrap}.brand{flex:1}.downloads{margin-left:auto}}
@media(max-width:700px){body{height:auto;min-height:100dvh;overflow:auto}header{padding:9px 12px;min-height:0;flex-wrap:wrap}.brand{width:100%}.downloads{justify-content:flex-start;gap:5px}.downloads a{font-size:10px}.language-picker button{font-size:11px}main,main.left-collapsed,main.right-collapsed{display:flex;flex-direction:column;height:auto;flex:1}main>aside,main>aside.is-collapsed{padding:6px 12px;max-height:none;overflow:visible}.panel-toggle,.is-collapsed .panel-toggle{writing-mode:horizontal-tb;width:auto;min-width:110px;padding:6px 10px;margin:0 0 4px}#left-content{max-height:55vh;overflow:auto;padding:2px 0 10px}#right-content{padding-bottom:15px}#right-panel{border-left:0;border-top:1px solid #29383b}.stage{height:72dvh;min-height:430px;flex:none}.view-controls .legend{max-width:none}#emotions{display:flex;flex-wrap:wrap;max-height:140px}.emotion{width:auto;white-space:nowrap}.toolbar{bottom:10px}.stage-head{padding:9px 14px}.hint{font-size:10px}.details h2{font-size:23px}}

#search{margin-bottom:0}#emotion-count{margin-top:0;margin-bottom:5px}#left-content>.sidebar-action{display:flex;align-items:center;justify-content:center;width:100%;height:32px;padding:3px 9px;margin:3px 0;line-height:1;font-size:12px}.language-help{display:flex;align-items:center;gap:8px;flex-shrink:0}#help-open{font-size:12px;min-height:30px;padding:5px 10px;flex-shrink:0}
:is(#help-dialog,#terms-dialog){width:min(940px,calc(100vw - 24px));max-width:940px;max-height:92dvh;padding:0;overflow:auto;border-radius:14px;background:#111f27}:is(#help-dialog,#terms-dialog)::backdrop{background:#041015c9}.help-top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 26px;background:#111f27f5;border-bottom:1px solid #34494e;z-index:1}.help-top h2{font:600 16px system-ui;margin:0}.help-top button{font-size:12px;padding:6px 10px}.help-article{max-width:820px;margin:auto;padding:28px 32px 44px;font-size:15px;line-height:1.75;color:#d4e3dd}.help-article h2{font:28px Georgia,serif;color:#ecf4ef;margin:34px 0 12px}.help-article h3{font:600 18px system-ui;margin-top:28px}.help-article p,.help-article li{color:#bbcfc9}.help-lead{font-size:19px;color:#e0eee6!important}.help-article figure{margin:24px 0}.help-article img{width:100%;height:auto;border:1px solid #354a4e;border-radius:10px;display:block}.help-article figcaption{font-size:12px;color:#90afa5;margin-top:8px;line-height:1.5}.help-article dt{font-weight:650;color:#d7e9df;margin-top:17px}.help-article dd{margin:3px 0 0;color:#b4cbc1}.help-callout{padding:15px 20px;border-left:3px solid #8ac9ad;background:#192f30;border-radius:0 8px 8px 0}.help-article a{color:#b9dfcf}.help-article strong{color:#e2eee9}
@media(max-width:700px){:is(#help-dialog,#terms-dialog){max-height:94dvh}.help-top{padding:12px 16px}.help-article{padding:16px 18px 30px;font-size:14px}.help-article h2{font-size:24px}.help-lead{font-size:17px}#help-open{font-size:11px}}
#feedback-sidebar{background:#16242a;color:#d6e5df;border:1px solid #33464a;border-radius:7px;text-decoration:none}#feedback-sidebar:hover{background:#2b483d;border-color:#80b995;color:#eaffec}#feedback-sidebar:focus-visible,#feedback-top:focus-visible{outline:2px solid #b5dfbd;outline-offset:2px}

#research-disclaimer{flex:0 0 auto;padding:5px 16px;border-top:1px solid #29383b;background:#101c23;color:#a8beb4;font-size:10px;line-height:1.4;text-align:center}#research-disclaimer a{color:#b9dfcf;white-space:nowrap}#terms-top{white-space:nowrap}#terms-top:focus-visible,#research-disclaimer a:focus-visible{outline:2px solid #b5dfbd;outline-offset:3px}@media(max-width:700px){.language-help{flex-wrap:wrap;gap:6px}#research-disclaimer{padding:7px 12px}}

#terms-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.5 monospace}#terms-dialog summary{cursor:pointer;color:#b9dfcf}
