:root{
  color-scheme:dark;
  --bg:#0b0a12;--panel:#15131f;--panel2:#1b1828;--ink:#f3effd;--muted:#aaa3bb;
  --faint:#716b7f;--line:#2d293b;--violet:#9c86ff;--mint:#b3f5d5;--amber:#e7bd78;
  --serif:"Cormorant Garamond",Georgia,serif;--mono:"Inconsolata",Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 12% 2%,rgba(156,134,255,.12),transparent 28%),
  radial-gradient(circle at 90% 18%,rgba(179,245,213,.06),transparent 24%),var(--bg);
  color:var(--ink);font:14px/1.65 var(--mono)}
button,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:20px;padding:20px 24px;border-bottom:1px solid #ffffff0b;background:#0b0a12dc;backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}
.home-link{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 12px;justify-self:start}
.title-block{text-align:center}.title-block span,.kicker{color:var(--faint);font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.title-block h1{font:500 30px/1 var(--serif);margin:5px 0 0}
.quiet-button{justify-self:end;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);background:transparent}
main{width:min(1440px,calc(100% - 28px));margin:14px auto 50px;display:grid;grid-template-columns:290px minmax(420px,1fr) minmax(360px,.86fr);gap:14px;align-items:start}
.panel{border:1px solid var(--line);border-radius:11px;background:#15131fd9;box-shadow:0 18px 50px #0005}
.setup{padding:20px;position:sticky;top:91px}
label{display:block;color:var(--muted);font-size:12px;margin:14px 0 7px}
textarea,select{width:100%;border:1px solid var(--line);border-radius:8px;background:#0e0d15;color:var(--ink);padding:11px 12px;outline:none}
textarea:focus,select:focus{border-color:#9c86ff88}
#question{min-height:112px;resize:vertical;font-size:14px}
.primary-button{width:100%;margin-top:14px;border:1px solid #9c86ff66;border-radius:999px;padding:12px;color:var(--ink);background:#9c86ff1f;font-weight:500}
.primary-button:hover{background:#9c86ff2e}
.note{font-size:10px;color:var(--faint);line-height:1.7;margin:14px 2px 0}
.spread{padding:20px;min-height:690px}
.conversation{padding:20px;position:sticky;top:91px;max-height:calc(100vh - 106px);display:flex;flex-direction:column}
.section-head{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:18px}
h2{font:500 31px/1 var(--serif);margin:5px 0 0}
.question-display{max-width:45%;color:var(--amber);font-size:11px;text-align:right}
.cards{display:grid;gap:16px;align-items:start;justify-items:center}
.cards.empty{min-height:560px;display:grid;place-items:center;color:var(--faint);text-align:center}
.cards.single{grid-template-columns:1fr}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.five{grid-template-columns:repeat(3,1fr)}
.card-shell{width:100%;text-align:center;animation:arrive .42s ease both}
.card-button{padding:0;border:0;background:transparent;width:100%;max-width:184px}
.card-image{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid #ffffff18;border-radius:8px;background:#111019;box-shadow:0 18px 42px #0008;transition:.16s ease}
.card-button:hover .card-image{transform:translateY(-4px)}
.card-image.reversed{transform:rotate(180deg)}.card-button:hover .card-image.reversed{transform:rotate(180deg) translateY(4px)}
.position{margin-top:10px;color:var(--mint);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.card-name{font:500 20px var(--serif);margin-top:3px}.orientation{color:var(--faint);font-size:10px}
.route-label{color:var(--amber);font-size:10px;text-align:right}
.messages{min-height:260px;overflow:auto;padding-right:4px;flex:1}
.message{padding:12px 13px;border-radius:9px;margin:0 0 10px;white-space:pre-wrap}
.message.assistant{border:1px solid var(--line);background:#1b1828}.message.user{margin-left:14%;background:#252132;border:1px solid #3a344b}
.speaker{color:var(--mint);font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:5px}
.message.user .speaker{color:var(--amber)}
.message-copy{color:var(--muted)}
.suggestions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}
.suggestions button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:6px 9px;font-size:10px}
.suggestions button:hover{border-color:#b3f5d555;color:var(--ink)}
.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--line);padding-top:12px}
#follow-up{min-height:66px;resize:none}
#follow-up:disabled{opacity:.55}
#send{border:1px solid #9c86ff66;border-radius:9px;background:#9c86ff1f;color:var(--ink);padding:0 13px}
#send:disabled{opacity:.4;cursor:not-allowed}
.assembly{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;color:var(--faint);font-size:10px}
.assembly summary{cursor:pointer;color:var(--muted)}
#assembly-copy{margin-top:8px;white-space:pre-wrap}
.modal{position:fixed;inset:0;z-index:50;background:#060509e8;display:none;place-items:center;padding:24px;backdrop-filter:blur(16px)}
.modal.open{display:grid}.modal>button{position:absolute;right:24px;top:18px;border:0;background:transparent;color:var(--ink);font-size:34px}
#modal-content{width:min(760px,100%);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:22px;display:grid;grid-template-columns:220px 1fr;gap:24px}
#modal-content img{width:100%;border-radius:8px}.modal-copy h3{font:500 35px var(--serif);margin:0 0 4px}.modal-copy .modal-position{color:var(--mint);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.modal-copy p{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1080px){main{grid-template-columns:260px 1fr}.conversation{grid-column:1/-1;position:static;max-height:none}.messages{max-height:520px}.spread{min-height:620px}}
@media(max-width:720px){.topbar{grid-template-columns:1fr auto}.title-block{grid-column:1/-1;grid-row:2;text-align:left}.quiet-button{grid-column:2;grid-row:1}main{grid-template-columns:1fr}.setup,.conversation{position:static}.spread{min-height:auto}.cards.three,.cards.five{grid-template-columns:repeat(2,1fr)}.question-display{max-width:52%}#modal-content{grid-template-columns:1fr}#modal-content img{max-width:230px;margin:auto}}
@media(max-width:430px){.cards.three,.cards.five{grid-template-columns:1fr}.card-button{max-width:210px}.section-head{flex-direction:column}.question-display{max-width:none;text-align:left}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
