/* Constellation / manuscript / paired portraits. All movement is reader-triggered. */
#main.concept-explorer-page{padding-inline:clamp(20px,3vw,56px);padding-top:32px}
.ce-workspace,.ce-header{max-width:1240px;margin-inline:auto}
.ce-header{padding-bottom:5px;margin-bottom:20px}.ce-header .eyebrow{margin:0 0 12px}.ce-header h1{font-size:clamp(40px,3.8vw,54px);margin:0 0 14px}.ce-header .deck{max-width:760px;font-size:20px;margin:0}
.ce-view-nav{display:flex;flex-wrap:wrap;gap:8px 25px;border-bottom:1px solid var(--line);margin-bottom:22px;font:13px/1.6 Arial,sans-serif}
.ce-view-nav a{padding:12px 0;text-decoration:none;border-bottom:2px solid transparent}
.ce-view-nav a[aria-current=page]{border-color:var(--ink);font-weight:700}
.ce-workspace button,.ce-workspace a{touch-action:manipulation}
.ce-workspace :focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.ce-workspace [hidden]{display:none!important}
.ce-controls{display:flex;flex-wrap:wrap;gap:8px}.ce-map-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;scroll-margin-top:12px}
.ce-map-tools p{margin:0;font:13px/1.6 Arial,sans-serif;color:var(--muted)}
.ce-text-button{background:none;border:1px solid var(--line);color:var(--muted);padding:9px 12px;min-height:40px;font:12px/1.5 Arial,sans-serif;border-radius:4px;cursor:pointer;white-space:nowrap}
.ce-text-button[aria-pressed=true]{color:var(--ink);border-color:var(--ink);background:var(--soft)}
.ce-field{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 36px;margin-top:14px;padding:22px 18px 12px;border-block:1px solid var(--line);background:radial-gradient(ellipse at 12% 20%,var(--dzogchen-bg),transparent 54%),radial-gradient(ellipse at 90% 15%,var(--ethnomethodology-bg),transparent 54%),radial-gradient(ellipse at 10% 85%,var(--pragmatism-bg),transparent 54%),radial-gradient(ellipse at 90% 85%,var(--activity-bg),transparent 54%)}
.ce-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.ce-line{fill:none;stroke:var(--muted);stroke-width:1.2;opacity:.38;pointer-events:none}
.ce-line-hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer}
.ce-lines marker path{fill:none;stroke:var(--muted);stroke-width:1.5}
.ce-lines #ce-arrow-active path{stroke:var(--ink)}
.ce-connection.ce-highlighted .ce-line{stroke:var(--ink);stroke-width:2;opacity:.85}
.ce-connection:hover .ce-line,.ce-connection:focus .ce-line{stroke:var(--ink);stroke-width:3;opacity:1}
.ce-workspace .ce-connection:focus-visible{outline:none}
.ce-supporting{position:relative;grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 20px;padding:20px 0 8px;pointer-events:none}
.ce-supporting>span{font:11px/1.5 Arial,sans-serif;color:var(--muted);background:var(--paper)}
.ce-support-node{position:relative;pointer-events:auto;padding:8px 12px;background:var(--paper);border:1px dashed var(--line);border-radius:4px;color:var(--muted);font:14px/1.5 Arial,sans-serif;text-underline-offset:4px}
.ce-support-node.ce-related{border-color:var(--activity);color:var(--ink)}
.ce-cluster{position:relative;pointer-events:none;min-width:0;padding:0 6px 12px}
.ce-cluster h2{font:500 clamp(20px,1.8vw,26px)/1.25 Georgia,serif;color:var(--tradition-color);margin:0 0 18px;letter-spacing:-.015em;min-height:65px;max-width:29ch}
.ce-stars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;align-items:center}
.ce-star{position:relative;pointer-events:auto;display:flex;align-items:baseline;gap:9px;min-width:0;min-height:46px;border:1px solid transparent;background:var(--paper);border-radius:16px 3px 16px 3px;padding:9px 7px;color:var(--tradition-color);font:400 clamp(17px,1.55vw,25px)/1.32 Georgia,serif;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.ce-star:nth-child(2){margin-top:20px}.ce-star:nth-child(3){grid-column:1/-1;justify-self:center;max-width:75%;margin:3px 0}.ce-star:nth-child(5){margin-top:15px}
.ce-star:hover{background:var(--paper)}
.ce-star>span:last-child{min-width:0;overflow-wrap:break-word;hyphens:auto}
.ce-star[aria-pressed=true]{border-color:var(--tradition-color);background:var(--paper);box-shadow:0 7px 20px color-mix(in srgb,var(--tradition-color) 12%,transparent)}
.ce-star[aria-pressed=true]>span:last-child{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.ce-star.ce-related{border-style:dashed;border-color:var(--tradition-color);background:var(--tradition-bg)}
.ce-dot{width:5px;height:5px;flex:none;border-radius:50%;background:currentColor;position:relative;top:-3px}
.ce-star[aria-pressed=true] .ce-dot{outline:4px solid var(--tradition-bg)}
.ce-map-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px 0 28px}
.ce-map-caption p{font:12px/1.65 Arial,sans-serif;color:var(--muted);max-width:46ch;margin:0}
.ce-read-current{background:none;color:var(--ink);border:0;border-bottom:1px solid var(--ink);font:16px/1.5 Georgia,serif;text-align:left;padding:8px 0;cursor:pointer;max-width:50%}
.ce-read-current span{margin-left:8px}
.ce-all-connections{padding:14px 0;border-block:1px solid var(--line);margin:0 0 30px;font:14px/1.6 Arial,sans-serif;scroll-margin-top:100px}
.ce-all-connections summary{cursor:pointer;width:fit-content;min-height:30px;padding-top:4px}
.ce-edge-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin-top:20px}
.ce-edge-link{display:block;text-decoration:none;border-top:1px solid var(--line);padding:15px 0;color:var(--ink);font:18px/1.5 Georgia,serif}
.ce-edge-link em{display:block;color:var(--muted);font:12px/1.7 Arial,sans-serif;margin:3px 0;font-style:normal}
.ce-edge-link:hover>span{text-decoration:underline;text-underline-offset:4px}
.ce-edge-link[aria-current=true]{border-left:2px solid var(--ink);padding-left:12px}
#ce-reading{scroll-margin-top:12px;border-top:1px solid var(--line);padding-top:30px;min-height:calc(100svh - 130px)}
#ce-title{scroll-margin-top:12px;outline:none}
#ce-title:focus-visible{outline:2px solid var(--tradition-color,var(--ink));outline-offset:8px}
.ce-single{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:45px;padding:5px 0 28px}
.ce-single .eyebrow,.ce-portrait .eyebrow{color:var(--tradition-color);margin:0 0 16px;font-size:10px}
.ce-concept-copy h2{font:400 clamp(30px,3.1vw,46px)/1.22 Georgia,serif;color:var(--tradition-color);margin:0 0 24px;overflow-wrap:break-word}
.ce-definition{font:400 clamp(20px,1.9vw,26px)/1.58 Georgia,serif;margin:0 0 22px;max-width:60ch;hyphens:none}
.ce-definition strong{font-weight:700}
.ce-limit{font:14px/1.85 Arial,sans-serif;color:var(--muted);margin:0 0 20px;max-width:68ch}
.ce-margin{border-left:1px solid var(--line);padding-left:30px;min-width:0}
.ce-margin .guiding-question{font:20px/1.65 Georgia,serif;margin:0 0 35px;color:var(--tradition-color)}
.ce-follow h3{font:12px/1.5 Arial,sans-serif;margin:0 0 10px;color:var(--muted)}
.ce-text-link{display:inline-block;font:12px/1.7 Arial,sans-serif;margin-top:14px;color:var(--muted);text-underline-offset:3px}
.ce-single .concept-locations,.ce-portrait .concept-locations{font:12px/1.6 Arial,sans-serif;margin-top:24px}
.ce-pair-heading{max-width:900px;padding-bottom:20px}
.ce-pair-heading .eyebrow{margin:0 0 14px}
.ce-pair-heading h2{font:400 clamp(25px,2.6vw,38px)/1.4 Georgia,serif;margin:0;color:var(--ink)}
.ce-pair-heading h2 em{color:var(--muted)}
.ce-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ce-portrait{padding:28px;background:var(--tradition-bg);border-top:2px solid var(--tradition-color);min-width:0;display:flex;flex-direction:column}
.ce-portrait h3{font:400 clamp(26px,2.6vw,38px)/1.27 Georgia,serif;color:var(--tradition-color);margin:3px 0 23px;overflow-wrap:break-word}
.ce-portrait .ce-definition{font-size:clamp(19px,1.7vw,24px)}
.ce-portrait .ce-limit{margin-bottom:8px}
.ce-portrait .ce-text-link{margin-top:auto;padding-top:18px;align-self:start}
.ce-portrait .concept-locations{margin-top:10px}
.ce-support{border-top-style:dashed}
.ce-pair .connection-detail{border:0;border-block:1px solid var(--line);border-radius:0;padding:25px 0;margin:30px 0 20px}
.ce-pair .connection-detail h3{font:400 25px/1.4 Georgia,serif;margin:0 0 18px}
.ce-explanation{font:20px/1.65 Georgia,serif;max-width:78ch}
.ce-example-limit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:24px}
.ce-example-limit h4{font:700 11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 10px}
.ce-example-limit p{font:17px/1.75 Georgia,serif;margin:0}
.ce-example-limit .connection-limit{border:0;border-left:1px solid var(--line);padding:0 0 0 30px}
.ce-return{padding:10px 0;border:0;background:none;color:var(--ink);cursor:pointer;font:13px/1.6 Arial,sans-serif;margin:10px 0 20px;text-decoration:underline;text-underline-offset:5px}
.ce-scope{border-top:1px solid var(--line);padding-top:20px;max-width:90ch}
.ce-linear-view{max-width:var(--reading);margin:auto;scroll-margin-top:12px}
.ce-linear-view .spine-group{scroll-margin-top:12px}
.spine-question{background:var(--tradition-bg);border-left:3px solid var(--tradition-color);padding:20px 24px;margin:24px 0}
.spine-question .eyebrow{font:700 11px/1.5 Arial,sans-serif;letter-spacing:.07em;color:var(--tradition-color);margin:0 0 8px}
.spine-question .guiding-question{margin:0;font:700 22px/1.55 Georgia,serif;color:var(--tradition-color)}
.ce-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes ce-read-in{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
.ce-single,.ce-pair{animation:ce-read-in .24s ease-out}
.ce-still .ce-single,.ce-still .ce-pair{animation:none}.ce-still .ce-star{transition:none}
@media(min-width:1550px){.ce-field{gap:30px 65px;padding:32px 30px 20px}.ce-stars{gap:12px 25px}.ce-star{padding:12px}.ce-cluster h2{max-width:none;min-height:65px}.ce-star:nth-child(2){margin-top:30px}}
@media(max-width:1150px) and (min-width:801px){.ce-field{gap:20px 15px;padding:20px 8px 12px}.ce-stars{gap:10px 5px}.ce-star{font-size:17px;padding:7px 4px;gap:6px}.ce-single{grid-template-columns:1fr;gap:25px}.ce-margin{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.ce-portrait{padding:20px}.ce-portrait .ce-definition{font-size:19px}}
@media(max-width:650px){
 .ce-header .deck{font-size:19px}.ce-view-nav{gap:5px 18px;font-size:12px}
 .ce-field{grid-template-columns:1fr;gap:25px;padding:20px 24px;background:var(--surface)}
 .ce-cluster{padding:18px 4px;border-top:2px solid var(--tradition-color)}
 .ce-cluster h2{min-height:0;max-width:none;margin-bottom:18px;font-size:22px}
 .ce-stars{gap:10px 12px}.ce-star{font-size:20px;padding:8px 5px}
 .ce-star:nth-child(2),.ce-star:nth-child(5){margin-top:0}
 .ce-star:nth-child(3){max-width:100%}
 .ce-lines{display:block}
 .ce-map-caption{align-items:flex-start;flex-direction:column;gap:12px}
 .ce-read-current{max-width:100%}
 .ce-map-tools p{font-size:12px}
 .ce-single{grid-template-columns:1fr;gap:25px}
 .ce-concept-copy h2{font-size:34px}
 .ce-definition{font-size:22px;line-height:1.6}
 .ce-margin{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
 .ce-margin .guiding-question{font-size:21px}
 .ce-edge-index,.ce-portraits,.ce-example-limit{grid-template-columns:1fr}
 .ce-portrait{padding:24px 20px}.ce-portrait h3{font-size:30px}.ce-portrait .ce-definition{font-size:21px}
 .ce-example-limit .connection-limit{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
 #ce-reading,.ce-linear-view,.ce-linear-view .spine-group,.ce-map-tools{scroll-margin-top:12px}
 #ce-reading{padding-top:18px}
 .ce-return{margin:0 0 12px;padding:8px 0}
 .ce-pair-heading{padding-bottom:0}
 .ce-pair-heading h2{font-size:24px;line-height:1.25}
 .ce-pair .connection-detail{margin-top:18px;padding-top:18px}
 .ce-pair .connection-detail h3{font-size:22px;line-height:1.3;margin-bottom:14px}
}
@media(max-width:390px){.ce-star{font-size:20px}.ce-stars{grid-template-columns:1fr;gap:5px}.ce-star:nth-child(3){justify-self:stretch;margin:0}.ce-cluster{padding-inline:10px}.ce-field{padding-inline:24px}.ce-star{gap:9px}.ce-view-nav{gap:5px 13px}}
@media(prefers-reduced-motion:reduce){.ce-single,.ce-pair{animation:none}.ce-star{transition:none}}
@media print{
 #main.concept-explorer-page{padding:0}
 .ce-view-nav,.ce-map-view,.ce-announcement{display:none!important}
 .ce-workspace .ce-linear-view[hidden],.ce-linear-view,.ce-print-connections{display:block!important;max-width:none}
 .ce-linear-view .concept-nav{display:none}
 .ce-linear-view .concept-locations details p{display:block}
 .ce-header h1{font-size:30pt}.ce-header .deck{font-size:14pt}
}
