.wisp-section{--wisp-body:1;--wisp-invitation:1;--wisp-rise:0px;--wisp-pop:1;--wisp-ring:0;--wisp-ring-scale:1;background:#101b17;color:#e4ebda;position:relative}
.wisp-scroll-track{position:relative}
.wisp-stage{display:grid;grid-template-rows:auto auto minmax(140px,1fr) auto;min-height:740px;height:100svh;max-height:1100px;overflow:hidden;padding-top:24px}
.wisp-is-pinned .wisp-scroll-track{height:210svh}
.wisp-is-pinned .wisp-stage{position:sticky;top:0;height:100svh;min-height:0;max-height:none}
.wisp-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #30433a;min-height:44px;font:11px/1.7 var(--mono);color:#a0b5a5}
.wisp-topline .label{font-size:11px;color:#b4c5b7}
.wisp-topline button{font:inherit;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.wisp-intro{text-align:center;padding-top:20px;z-index:1;pointer-events:none}
.wisp-intro h2{font-size:clamp(36px,4.25vw,66px);font-weight:400;line-height:1.05;letter-spacing:-.055em}
.wisp-intro p{font-size:14px;line-height:1.7;color:#96aa9c;margin-top:18px}
.wisp-presence{min-width:0;min-height:0;position:relative}
.wisp-canvas-frame{position:absolute;inset:0;overflow:hidden;isolation:isolate}
.wisp-canvas-frame::after{content:'';position:absolute;left:50%;top:50%;width:180px;aspect-ratio:1;border:1px solid #c8b9dd;border-radius:50%;opacity:var(--wisp-ring);transform:translate(-50%,-50%) scale(var(--wisp-ring-scale));pointer-events:none}
.wisp-surface{position:absolute;width:min(140%,1200px);height:155%;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--wisp-pop));}
.wisp-surface canvas,.wisp-poster{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain}
.wisp-surface [data-wisp-canvas]{opacity:0}
.wisp-section[data-mounted] [data-wisp-canvas]{opacity:var(--wisp-body)}
.wisp-section[data-mounted] .wisp-poster{visibility:hidden}
.wisp-is-pinned:not([data-mounted]) .wisp-poster{opacity:.08}
.wisp-surface [data-wisp-assembly]{pointer-events:none}
.wisp-surface [data-wisp-canvas]:focus-visible{outline:1px solid #c8b9dd;outline-offset:-8px}
.wisp-presence-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#96aa9c;font:11px/1.7 var(--mono);z-index:2}
.wisp-presence-caption>span{display:flex;gap:10px;align-items:center}
.wisp-presence-caption i{width:4px;height:4px;border-radius:50%;background:#c8b9dd}
.wisp-presence-caption button{min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.wisp-invitation{position:relative;text-align:center;padding:10px 0 32px;min-height:216px;z-index:3}
.wisp-conversation{opacity:var(--wisp-invitation);transform:translateY(var(--wisp-rise));}
.wisp-is-pinned:not([data-wisp-revealed]) .wisp-conversation{visibility:hidden}
.wisp-is-pinned [data-wisp-conversation][inert]{pointer-events:none}
.wisp-arrival{display:none;position:absolute;inset:36px 0 auto;font:12px/1.8 var(--mono);color:#c8b9dd;opacity:calc(1 - var(--wisp-invitation));pointer-events:none}
.wisp-is-pinned .wisp-arrival{display:block}
.wisp-scroll-mark{display:block;font:28px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;margin-top:18px}
.wisp-action{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.wisp-start{display:flex;justify-content:space-between;align-items:center;gap:40px;background:#e4ebda;color:#19362a;border:1px solid #e4ebda;min-height:54px;padding:12px 24px;font:16px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif;min-width:220px;cursor:pointer;transition:background .2s}
.wisp-start:hover{background:#f1f0e9}.wisp-start:disabled{opacity:.55;cursor:wait}
.wisp-button-mark{font-size:25px;font-weight:300;line-height:1}
.wisp-mute{font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:5px;color:#c7d3c1;min-height:44px;cursor:pointer}
.wisp-audio{display:grid;grid-template-columns:auto minmax(60px,140px) 42px auto;align-items:center;gap:12px;max-width:400px;margin:6px auto 0;color:#b4c5b7;font:11px/1.7 var(--mono);text-align:left}
.wisp-audio input{width:100%;min-width:0;min-height:44px;margin:0;accent-color:#c8b9dd;cursor:pointer}
.wisp-audio output{font-variant-numeric:tabular-nums}
.wisp-audio button{min-height:44px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.wisp-status{font:11px/1.7 var(--mono);color:#c8b9dd;min-height:19px;margin:0 auto;max-width:440px}
.wisp-consent{font-size:11px;line-height:1.6;color:#96aa9c;max-width:450px;margin:9px auto 0}
.wisp-foot{padding-block:16px 40px}
.wisp-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #30433a;padding-top:28px;align-items:start}
.wisp-bottom>p{font-size:16px;line-height:1.7;color:#c7d3c1}.wisp-bottom>p span{color:#96aa9c}
.wisp-controls summary,.wisp-transcript summary{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:44px;list-style:none;cursor:pointer;font-size:14px;color:#b4c5b7}
.wisp-controls summary::-webkit-details-marker,.wisp-transcript summary::-webkit-details-marker{display:none}
.wisp-controls summary>span,.wisp-transcript summary>span{font-size:24px;line-height:1;font-weight:300}
.wisp-controls[open] summary>span,.wisp-transcript[open] summary>span{transform:rotate(45deg)}
.wisp-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:24px 10px}
.wisp-control-grid label{display:flex;flex-direction:column;gap:12px;font:11px/1.6 var(--mono);color:#96aa9c;min-width:0}
.wisp-control-grid select{appearance:auto;background:#16251e;border:1px solid #395044;border-radius:0;color:#e4ebda;padding:12px;font:14px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif;min-height:46px;max-width:100%;width:100%}
.wisp-control-grid select:disabled{opacity:.55}
.wisp-control-note{grid-column:1/-1;font-size:12px;line-height:1.75;max-width:430px;color:#96aa9c}
.wisp-transcript{border-top:1px solid #30433a;margin-top:24px;padding-top:10px}
.wisp-transcript [role=log]{max-height:320px;overflow-y:auto;overscroll-behavior:contain;max-width:760px;font-size:16px;line-height:1.8;margin:20px 0}
.wisp-transcript [role=log]>p{margin-top:18px}.wisp-transcript [role=log] strong{display:block;font:11px/1.8 var(--mono);color:#96aa9c;margin-bottom:5px}
.wisp-section [hidden]{display:none!important}
.wisp-section button:focus-visible,.wisp-section input:focus-visible,.wisp-section select:focus-visible,.wisp-section summary:focus-visible{outline:2px solid #c8b9dd;outline-offset:5px}
@media(max-width:700px){
 .wisp-stage{padding-top:12px;min-height:660px;grid-template-rows:auto auto minmax(180px,1fr) auto}
 .wisp-topline{gap:12px;font-size:10px}.wisp-topline .label{font-size:9px;max-width:140px}.wisp-topline button{font-size:9px}
 .wisp-intro{padding-top:14px}.wisp-intro h2{font-size:clamp(32px,8.5vw,44px)}.wisp-intro p{font-size:12px;margin-top:12px}
 .wisp-surface{width:170%;height:160%}.wisp-invitation{padding-bottom:20px;min-height:204px}.wisp-action{gap:12px}
 .wisp-audio{gap:8px;grid-template-columns:auto minmax(40px,1fr) 36px auto;font-size:10px;max-width:360px}
 .wisp-mute{font-size:11px}.wisp-presence-caption{font-size:10px}.wisp-consent{font-size:10px;max-width:330px}
 .wisp-bottom{grid-template-columns:1fr;gap:20px;padding-top:25px}.wisp-bottom>p{font-size:15px}.wisp-controls{border-top:1px solid #30433a;padding-top:12px}
 .wisp-control-grid{grid-template-columns:1fr;gap:18px}.wisp-control-grid select{font-size:16px}
}
@media(max-height:639px){.wisp-stage{height:auto;max-height:none;min-height:740px}.wisp-surface{height:130%}}
@media(prefers-reduced-motion:reduce){.wisp-start{transition:none}}
