:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e8eee9;background:#0b171d;color-scheme:dark;line-height:1.5}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1200px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #294048}header strong{letter-spacing:.2em}header small{margin-left:18px;color:#96abae}.light{display:inline-block;width:9px;height:9px;background:#a8d6b8;border-radius:50%;margin-right:12px;box-shadow:0 0 18px #a8d6b8}main{padding-top:36px}h1{font-size:clamp(30px,4vw,46px);line-height:1.14;font-weight:500;letter-spacing:-.035em;margin:8px 0 18px}h2{font-size:20px;font-weight:500;margin:8px 0 16px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#a8d6b8;font-weight:600}.muted,footer{font-size:13px;color:#9eafb3}.card{padding:26px;border:1px solid #2b4149;border-radius:18px;background:#102128}#setup,#login{max-width:560px;margin:32px auto}.intro,.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.intro{margin-bottom:20px}.workspace{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:22px}label{display:block;font-size:13px;margin:14px 0 7px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;background:#0b191f;color:#edf2ed;border:1px solid #3a515a;border-radius:8px;font:inherit;font-size:16px}textarea{resize:vertical}button{font:inherit;font-size:13px;padding:11px 15px;background:transparent;border:1px solid #49626b;color:#e8eee9;border-radius:9px;cursor:pointer}button:hover{border-color:#a8d6b8}button:disabled{opacity:.45;cursor:default}.primary{background:#b2d6ba;color:#12241c;border-color:#b2d6ba}form>.primary{margin-top:14px}.compact{margin:0;max-width:170px}.compact select{font-size:12px}#messages{height:360px;overflow:auto;padding:12px 0;scroll-behavior:smooth}.msg{white-space:pre-wrap;overflow-wrap:anywhere;padding:13px 16px;margin:10px 0;border-radius:12px;background:#1a3038}.msg.user{margin-left:32px;background:#25433d}.msg.assistant{margin-right:24px}.empty{color:#8da4aa;margin-top:100px;text-align:center}#message-form .row{margin-top:12px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}.memory{padding:14px 0;border-top:1px solid #2a4149;margin-top:16px}.memory p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.memory small{color:#a8d6b8}.memory button{padding:6px 9px;margin-right:8px}.subtle{border:0;color:#9eafb3;font-size:12px;padding-left:0}#notice{color:#ffd4a4;white-space:pre-wrap}footer{padding-top:40px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}:focus-visible{outline:2px solid #b2d6ba;outline-offset:3px}@media(max-width:780px){header,main,footer{padding:18px}.workspace{grid-template-columns:1fr}.card{padding:18px}.intro{align-items:start}.intro button{max-width:110px}header small{display:none}#messages{height:42vh;min-height:240px}.conversation .row{align-items:center}h1{font-size:34px}button{min-height:44px}footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}
/* Voice-first surface inspired by the supplied second reference. */
body{background:#000;min-height:100dvh}body:has(#personal:not([hidden])){background:#000 url('/assets/jarvis-background.png') center 48%/auto 120dvh no-repeat fixed}header{position:relative;z-index:2;border-color:#164448;background:#000e;padding:16px 24px}header small,footer{display:none}header strong{color:#7dbfc2}main{padding-top:18px}#personal .intro{display:none}.view-nav{display:flex;justify-content:center;gap:8px;position:relative;z-index:2}.view-nav button{background:#02191de8;border-color:#21545b;color:#acd9db}.workspace{display:block;margin:20px auto 160px;max-width:800px}#personal[data-view="voice"] .workspace{display:none}#personal[data-view="chat"] .workspace aside{display:none}#personal[data-view="memory"] .conversation{display:none}.card{background:#04171bf5;border-color:#235158;backdrop-filter:blur(12px)}#personal[data-view="chat"] .intro{display:flex;background:#031316e8;padding:12px;margin-top:12px;border-radius:12px}#personal .intro h1,#personal .intro .muted{display:none}#personal .intro p{margin:0}.voice-dock{position:fixed;z-index:3;bottom:0;left:0;width:100%;display:flex;align-items:center;flex-direction:column;padding:12px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#001013 35%,#001519);pointer-events:none}.voice-dock>*{pointer-events:auto}#voice-status{font-size:13px;text-align:center;color:#a8d9dc;margin:0 0 12px;max-width:500px}#voice{width:76px;height:76px;min-height:76px;border-radius:50%;border:1px solid #3d9199;background:#03292f;box-shadow:0 0 24px #0b68634d;font-size:0;position:relative}#voice:before{content:'';position:absolute;left:30px;top:17px;width:14px;height:27px;border:2px solid #8bdbde;border-radius:12px}#voice:after{content:'';position:absolute;left:24px;top:31px;width:26px;height:23px;border:2px solid #8bdbde;border-top:0;border-radius:0 0 16px 16px}#voice[aria-pressed="true"]{background:#0b5156;box-shadow:0 0 36px #36b7ac88;border-color:#8be6dc}.dock-hint{font-size:11px;color:#6ba6ac;margin-top:8px}#notice:not(:empty){position:fixed;z-index:5;left:16px;right:16px;bottom:175px;max-height:30dvh;overflow:auto;background:#192323f5;border:1px solid #a27a4e;border-radius:12px;padding:12px;max-width:650px;margin:auto}#messages{height:38dvh;min-height:140px}@media(max-width:780px){header{padding:12px 18px}main{padding:12px}.view-nav button{font-size:12px;padding:8px 12px}.workspace{margin-top:12px}.voice-dock{padding-top:8px}#personal .intro{margin-bottom:10px}#personal .intro button{max-width:none}.card{padding:16px}#login,#setup{margin-top:30px}}
/* Current conversation remains visible; secondary actions live in the menu. */
#menu{position:relative}#menu summary{list-style:none;cursor:pointer;font-size:24px;color:#a8d9dc;padding:4px 12px}#menu summary::-webkit-details-marker{display:none}#menu nav{position:absolute;right:0;top:48px;width:240px;padding:10px;background:#04191ffa;border:1px solid #285b63;border-radius:14px;box-shadow:0 12px 40px #000;display:grid;gap:6px;z-index:20}#menu nav button{text-align:left;min-height:44px}header{z-index:10}#personal[data-view="chat"] .conversation{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}#personal[data-view="chat"] .workspace{margin-top:10dvh}#messages{height:46dvh;min-height:100px}.msg{background:#08252bdb}.msg.user{background:#143d3bdc}#personal[data-view="memory"] .workspace{margin-top:18px}#message-form{padding-bottom:15px}.voice-dock{z-index:3}@media(max-width:780px){#personal[data-view="chat"] .workspace{margin-top:9dvh}#messages{height:46dvh}.workspace{margin-bottom:180px}}

body:has(#personal:not([hidden])){background-image:url('/assets/jarvis-modern.png');background-size:auto 100dvh;background-position:center top}

body:has(#personal:not([hidden])){background-image:url('/assets/jarvis-core.jpg');background-size:min(100vw, 660px) auto;background-position:center 12dvh;background-color:#000}

/* Bubbles float directly over the artwork. */
#personal[data-view="chat"] .workspace{max-width:900px}
.msg{width:fit-content;max-width:90%}
.msg.user{margin-left:auto}
.msg.assistant{margin-right:auto}
