.enough-shell{--en-move:#9ec79a;--en-lift:#dfc288;--en-rest:#8fb3c7;--en-eat:#cf9f78;--en-money:#b79bc4;--en-work:#8fb3c7;--en-harm:var(--d-warn);max-width:1160px;margin:auto;padding:0 var(--gutter);}
.enough-shell a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--rule-strong,var(--rule));text-underline-offset:.16em;}
.enough-shell a:hover{color:var(--accent-hover);text-decoration-color:currentColor;}
.post-back.essay-back{display:block;max-width:1160px;margin-inline:auto;padding-inline:var(--gutter);padding-top:clamp(1.5rem,5vw,3.5rem);}
.enough-footer-inner{max-width:1160px;margin:0 auto;}
.enough-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.enough-hero{display:grid;grid-template-columns:1fr .95fr;gap:3rem;align-items:center;margin:12px 0 28px;}
.hero-title{font-family:var(--font-heading);font-weight:700;font-size:clamp(3rem,8vw,5rem);line-height:.94;letter-spacing:-.035em;color:var(--text-bright);margin:0 0 20px;text-wrap:balance;}
.enough-title p{font:400 1.22rem/1.45 var(--font-body);margin:0;}
.enough-hero picture{display:block;}
.enough-hero img{display:block;width:100%;height:auto;object-fit:contain;}
.enough-overview{border-block:1px solid var(--rule-strong);padding:16px 0;margin-bottom:48px;}
.overview-selected{font-size:.85rem;color:var(--text-dim);margin:0 0 12px;}
.enough-overview svg,.enough-chart svg{display:block;width:100%;overflow:visible;}
.enough-overview svg text,.enough-chart svg text{font:12px var(--font-mono);fill:var(--text-dim);}
#overview-chart,.enough-chart{cursor:crosshair;touch-action:pan-y;outline-offset:6px;}
#overview-chart:focus-visible,.enough-chart:focus-visible{outline:2px solid var(--accent);}
.en-axis{stroke:var(--rule-strong);stroke-width:1;}
.en-grid{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 5;}
.en-curve{stroke:var(--area,var(--en-move));fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;}
.en-remainder{opacity:.65;}
.en-area{fill:var(--area,var(--en-move));opacity:.18;}
.en-uncertainty{fill:var(--area);opacity:.15;}
.en-dot{fill:var(--bg);stroke:var(--area,var(--en-move));stroke-width:3;}
.en-guide{stroke:var(--text-dim);stroke-dasharray:3 5;opacity:.4;}
.en-selection{stroke:var(--text-dim);stroke-width:1;opacity:.5;}
.overview-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:12px 0;}
.overview-key{border-left:3px solid var(--area);padding-left:12px;font-size:.85rem;color:var(--text-dim);}
.overview-key:nth-child(2){border-left-style:dashed;}
.overview-key b{display:block;font:400 2rem/1.15 var(--font-heading);color:var(--area);margin:4px 0;}
.overview-key span{display:block;}
.overview-key a{font-size:1rem;}
.enough-detail{font-size:.92rem;line-height:1.6;}
.enough-detail summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--text-dim);gap:8px;list-style:none;}
.enough-detail summary::before{content:'+';font:1rem var(--font-mono);}
.enough-detail[open] summary::before{content:'−';}
.enough-detail summary::-webkit-details-marker{display:none;}
.enough-detail p{margin:.65rem 0;max-width:75ch;}
.enough-detail a{overflow-wrap:anywhere;}
.enough-group{margin-bottom:64px;scroll-margin-top:20px;}
.area-heading{display:flex;gap:24px;align-items:baseline;border-bottom:1px solid var(--area);padding:0 0 14px;margin:0 0 26px;}
.area-heading h2{font:700 2.8rem/1 var(--font-heading);color:var(--text-bright);margin:0;}
.area-heading p{font-size:1rem;color:var(--text-dim);margin:0;}
.enough-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;grid-auto-flow:column;column-gap:40px;row-gap:16px;}
.enough-grid>.enough-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;}
.enough-card{min-width:0;scroll-margin-top:20px;}
.enough-card .shape{font:.72rem var(--font-mono);color:var(--area);margin:0 0 12px;display:block;}
.enough-card h3{font:700 1.3rem/1.25 var(--font-heading);margin:0 0 12px;}
.enough-answer{font:400 clamp(2rem,3.8vw,3.05rem)/1.05 var(--font-heading);color:var(--area);margin:0 0 14px;max-width:16ch;}
.enough-fact{font-size:1rem;line-height:1.5;margin:0 0 14px;}
.enough-chart{margin:16px 0 0;}
.enough-readout{font-size:.9rem;line-height:1.45;margin:12px 0 6px;min-height:2.9em;}
.enough-range-note{font-size:.78rem;color:var(--text-dim);margin:8px 0;line-height:1.45;}
.enough-card.feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;}
.enough-card.feature .enough-answer{font-size:clamp(2.7rem,4vw,3.6rem);max-width:14ch;}
.enough-card.feature .enough-fact{max-width:35ch;}
.enough-card.feature .enough-detail{grid-column:1/-1;}
.enough-card.feature .enough-chart{margin-top:0;}
.enough-after{max-width:780px;margin:2rem auto;}
.enough-after li{margin-bottom:12px;}
.enough-smalls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.enough-rings{display:flex;justify-content:space-around;padding:20px 0;}
.enough-ring{text-align:center;color:var(--area);}
.enough-ring svg{width:130px;height:130px;}
@media(max-width:699px){
 .enough-hero{display:flex;flex-direction:column;gap:18px;align-items:stretch;margin:6px 0 24px;}
 .enough-hero picture{order:-1;}
 .hero-title{margin-bottom:14px;}
 .enough-title p{font-size:1rem;line-height:1.35;}
 .enough-overview{padding:16px 0;margin-bottom:36px;}
 .overview-selected{font-size:.78rem;}
 .overview-legend{gap:10px;}
 .overview-key{padding-left:8px;font-size:.75rem;}
 .overview-key a{font-size:.85rem;}
 .overview-key b{font-size:1.75rem;}
 .area-heading{display:block;margin-bottom:24px;}
 .area-heading h2{font-size:2.5rem;margin:0 0 8px;}
 .area-heading p{font-size:.9rem;}
 .enough-grid,.enough-grid>.enough-card{display:block;}
 .enough-card{margin-bottom:36px;}
 .enough-card+.enough-card{border-top:1px solid var(--rule);padding-top:26px;}
 .enough-answer{font-size:2.55rem;}
 .enough-card.feature{display:block;}
 .enough-card.feature .enough-answer{font-size:2.7rem;}
 .enough-card.feature .enough-chart{margin-top:18px;}
 .enough-group{margin-bottom:44px;}
 .enough-smalls{grid-template-columns:1fr;gap:12px;}
 .enough-ring svg{width:92px;height:92px;}
}
@media(prefers-reduced-motion:no-preference){.en-initial{animation:en-once .7s ease-out;}@keyframes en-once{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0);}}}
@media print{.enough-shell{max-width:none;}.enough-grid{display:block;}.enough-card{break-inside:avoid;}}
