/* Isolated recap layout; shared CORE typography and cyan come from styles.css. */
.recap,.recap *{box-sizing:border-box}
html:has(.recap-page){height:auto;overflow:auto}
body.recap-page{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto;background:#000}
.recap-page #coreBackground{opacity:1;pointer-events:none}
#recapBoxes{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;background:transparent}
.recap{position:relative;z-index:1;width:100%;max-width:490px;margin:0 auto;padding:44px 20px max(36px,env(safe-area-inset-bottom));line-height:1.65}
.recap-header{text-align:center;margin-bottom:30px}
.home-mark{font-family:'Share Tech Mono',monospace;font-size:4.8rem;line-height:1;letter-spacing:8px;color:rgb(var(--accent-rgb));text-shadow:0 0 16px rgba(var(--accent-rgb),.35);text-decoration:none}
.recap .eyebrow{font-size:.65rem;letter-spacing:2px;color:rgb(var(--accent-rgb));text-transform:uppercase;margin:0 0 18px}
.recap-header .eyebrow{margin:15px 0 26px}
.recap h1,.recap h2{font-family:'Share Tech Mono',monospace;font-weight:normal;line-height:1.2;letter-spacing:1.5px;color:rgb(var(--accent-rgb))}
.recap h1{font-size:2rem;margin:0 0 20px}
.recap h2{font-size:1.3rem;margin:0 0 18px;overflow-wrap:anywhere}
.recap p{font-size:.85rem;color:#d0d0d0;margin:0 0 18px}
.recap .fine{font-size:.8rem;color:#a6b1b5;line-height:1.4;margin-top:18px;margin-bottom:0;font-style: italic;}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px}
.stats>div{padding:18px 10px;border:1px solid rgba(var(--accent-rgb),.6);text-align:center;background:rgba(0,0,0,.88)}
.stats strong{display:block;font:2.8rem 'Share Tech Mono',monospace;color:rgb(var(--accent-rgb))}
.stats span{font-size:.65rem}
.panel{position:relative;padding:24px 20px;margin:0 0 26px;border:1px solid rgba(var(--accent-rgb),.45);background:rgba(0,0,0,.9)}
.panel::before{content:'';position:absolute;top:-1px;left:-1px;width:32px;height:2px;background:rgb(var(--accent-rgb))}
.love{text-align:center}
.love h2{font-size:3.8rem;letter-spacing:6px;margin:22px 0 0;text-shadow:0 0 24px rgba(var(--accent-rgb),.3)}
.love .love-count{font-size:.65rem;letter-spacing:3px;color:rgb(var(--accent-rgb));margin-bottom:24px}
.word-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px}
.word-chips span{font-size:.65rem;border:1px solid rgba(var(--accent-rgb),.3);padding:4px 8px;color:rgb(var(--accent-rgb))}
.theme-row{margin:16px 0}
.theme-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:.68rem;letter-spacing:1px}
.theme-row b{color:rgb(var(--accent-rgb));font-weight:normal}
.track{height:4px;background:rgba(var(--accent-rgb),.1);margin-top:7px}
.track i{display:block;width:var(--fill);height:100%;background:rgb(var(--accent-rgb))}
.resonance-map{display:block;width:100%;height:auto;margin:16px 0}
.map-frame{fill:none;stroke:rgba(var(--accent-rgb),.5)}
.map-grid{fill:none;stroke:rgba(var(--accent-rgb),.7);stroke-width:1.25;vector-effect:non-scaling-stroke}
.map-labels{fill:rgb(var(--accent-rgb));font:11px 'Share Tech Mono',monospace}
.map-points{stroke:rgb(var(--accent-rgb));stroke-width:1.5;opacity:.8}
.recap .map-key{text-align:center;font-size:.59rem;letter-spacing:1px;color:rgb(var(--accent-rgb))}
.map-key span{font-size:1.2rem}
.recap details{margin-top:22px;border-top:1px solid rgba(var(--accent-rgb),.3);padding-top:14px}
.recap summary{font-size:.72rem;color:rgb(var(--accent-rgb));cursor:pointer;padding:8px 0}
.map-words{list-style:none;padding:0 12px 0 0;max-height:320px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.55) #000;scrollbar-gutter:stable}
.map-words::-webkit-scrollbar{width:8px}
.map-words::-webkit-scrollbar-track{background:#000;border-left:1px solid rgba(var(--accent-rgb),.15)}
.map-words::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.55);border:2px solid #000;border-radius:0}
.map-words::-webkit-scrollbar-thumb:hover{background:rgb(var(--accent-rgb))}
.map-words li{display:flex;justify-content:space-between;gap:12px;font-size:.7rem;padding:6px 0;border-bottom:1px solid #222;overflow-wrap:anywhere}
.hour-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:28px 0}
.hour{display:flex;flex-direction:column;align-items:center;font-size:.62rem;color:rgb(var(--accent-rgb))}
.hour b{font-weight:normal;margin-bottom:8px}
.hour-track{position:relative;width:100%;height:105px;background:rgba(var(--accent-rgb),.06)}
.hour-track i{position:absolute;bottom:0;left:0;width:100%;height:var(--fill);background:rgba(var(--accent-rgb),.8)}
.hour>span{margin-top:8px;font-size:.58rem}
.recap-footer{text-align:center;padding:16px 0}
/* Wie auf der Landingpage: keine geerbte Fließtext-Zeilenhöhe im Button. */
.recap-footer .core-button{margin-top:26px;line-height:normal}
.recap a:focus-visible,.recap button:focus-visible,.recap summary:focus-visible{outline:2px solid rgb(var(--accent-rgb));outline-offset:5px}
@media(max-width:360px){.recap{padding-left:14px;padding-right:14px}.panel{padding:22px 14px}.recap h1{font-size:1.8rem}.theme-row>div:first-child{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.recap-page #coreBackground,.recap-page #recapBoxes{display:none}.recap *{transition:none!important}}
