#card{--accent:#31c9d5;--bg:#19383d;--bottom:#091216;--text:#eee4d1;padding:17px 18px;border-left:3px solid var(--accent);border-block:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:linear-gradient(var(--bg),var(--bottom));color:var(--text);font-family:DTM,monospace;overflow-wrap:anywhere}#card-badge{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(color-mix(in srgb,var(--accent),white 40%),var(--accent));color:#102b32;padding:3px 8px;clip-path:polygon(3px 0,calc(100% - 3px) 0,100% 3px,100% calc(100% - 3px),calc(100% - 3px) 100%,3px 100%,0 calc(100% - 3px),0 3px)}#card-icon{width:16px;height:16px;image-rendering:pixelated}#card-icon[hidden]{display:none}#card-title{display:block;margin-top:10px;font-size:18px;font-weight:400}#card p{margin:8px 0 0;white-space:pre-wrap;line-height:1.4}#card p:empty{display:none}.sample-chat{margin-top:24px;color:var(--muted);font-family:DTM,monospace}.history-row{padding:13px 0;border-bottom:1px solid var(--rule);font-size:13px}.history-row small{display:block;color:var(--muted);margin-top:7px}textarea{resize:vertical}.actions{flex-wrap:wrap}.actions button:disabled{opacity:.45;cursor:default}
#save,#refresh{border:1px solid var(--rule);background:#30261b;color:var(--gold);padding:10px 14px}#save:hover,#refresh:hover{border-color:var(--gold)}

#target-label[hidden]{display:none}#refresh-roster{border:1px solid var(--rule);background:#30261b;color:var(--gold);padding:9px 12px}

#replay{margin-bottom:12px;border:1px solid var(--rule);background:#30261b;color:var(--gold);padding:9px 12px;cursor:pointer}

/* Floating thought preview: a small "first person" view; letters condense from smoke and blow away on approach. */
@font-face{font-family:ThoughtLiberty;src:url('/assets/fonts/thought/liberty.ttf') format('truetype');font-display:swap}
#thought-only[hidden],#card-only[hidden],#thought-stage[hidden],#card[hidden]{display:none}
.thought-view{--ink:#f1e8ff;--smoke:#b993f2;position:relative;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--rule);background:radial-gradient(120% 90% at 50% 110%,#2b2f25 0 34%,transparent 35%),linear-gradient(#1d2236,#3a3550 58%,#4b4152)}
.thought-cross{position:absolute;left:50%;top:50%;width:9px;height:9px;transform:translate(-50%,-50%);background:linear-gradient(#ffffffa0,#ffffffa0) center/1px 100% no-repeat,linear-gradient(#ffffffa0,#ffffffa0) center/100% 1px no-repeat}
.thought-text{position:absolute;width:62%;transform:translate(-50%,-50%) rotate(var(--roll,0deg));text-align:center;color:var(--ink);font:17px/1.35 ThoughtLiberty,DTM,serif;text-shadow:1px 1px 0 #0006,0 0 9px color-mix(in srgb,var(--smoke) 45%,transparent);overflow-wrap:anywhere}
.thought-text .w{white-space:nowrap}.thought-text .c{display:inline-block;white-space:pre}
.thought-puff{position:absolute;pointer-events:none;width:var(--s);height:var(--s);border-radius:46% 54% 60% 40%/50% 42% 58% 50%;background:radial-gradient(circle,color-mix(in srgb,var(--smoke),white 30%) 0,color-mix(in srgb,var(--smoke) 60%,transparent) 38%,transparent 70%);filter:blur(2px);animation:thought-puff var(--life) ease-out forwards}
@keyframes thought-in{from{opacity:0;filter:blur(5px);transform:translateY(5px) scale(1.6)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes thought-out{to{opacity:0;filter:blur(6px);transform:translate(var(--dx),-14px) scale(1.7)}}
@keyframes thought-puff{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}12%{opacity:var(--a)}100%{opacity:0;transform:translate(calc(-50% + var(--vx)),calc(-50% + var(--vy))) scale(1.9) rotate(var(--spin))}}
#approach{margin-top:10px;border:1px solid var(--rule);background:#30261b;color:var(--gold);padding:9px 12px;cursor:pointer}
@media (prefers-reduced-motion:reduce){.thought-puff{display:none}.thought-text .c{animation:none!important}}
