:root{font-family:system-ui,sans-serif;color:#173b34;background:#f2f1e9;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:760px;margin:auto;padding:28px 20px 60px}header{display:flex;align-items:center;gap:14px;border-bottom:1px solid #ced4c8;padding-bottom:22px}header button{margin-left:auto}.mark{display:grid;place-items:center;background:#173b34;color:#f3e2ad;border-radius:50%;width:52px;height:52px;font-family:Georgia,serif;font-size:36px}small{font-size:10px;letter-spacing:.16em;font-weight:700}h1{font-family:Georgia,serif;font-weight:400;margin:2px 0;font-size:29px}h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin-top:0}h3{font-size:18px}.intro{font-family:Georgia,serif;font-size:36px;line-height:1.2;margin:35px 0 22px}.intro em{color:#78816d}section{padding:26px;background:#fffef7;border:1px solid #d5dbce;border-radius:18px;margin:20px 0}p{line-height:1.6}input,textarea,button{font:inherit}input,textarea{display:block;width:100%;padding:13px;border:1px solid #aebbaa;border-radius:9px;margin:8px 0 16px;background:#fff;color:#173b34}textarea{line-height:1.5;resize:vertical}label{font-size:14px;font-weight:600}button{padding:12px 17px;border:1px solid #173b34;background:#173b34;color:#fff;border-radius:9px;cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:wait}.quiet{background:transparent;color:#173b34;margin-top:10px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:14px}.buttons{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.footnote,footer{color:#607364;font-size:12px}footer{margin-top:30px}#status{padding:12px;border-left:3px solid #b8a66b;overflow-wrap:anywhere}#messages p{white-space:pre-wrap;border-left:2px solid #c4cdbc;padding-left:12px}#messages .you{color:#65705e}#draft{overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px}#memories article{border-top:1px solid #d7dccf;padding:18px 0}#memories pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.5;font-size:14px}details{padding:20px;border:1px solid #cbd3c4;border-radius:15px}summary{cursor:pointer;min-height:30px}code{display:block;overflow-wrap:anywhere;margin:15px 0;font-size:12px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}:focus-visible{outline:3px solid #b5964d;outline-offset:3px}#remote-audio{display:none}.voice-card{background:#173b34;color:#fff;border-color:#173b34}.voice-card h2{font-size:32px;margin:8px 0}.voice-card .footnote{color:#c8d4c9}.voice-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.voice-card button{background:#f3e2ad;border-color:#f3e2ad;color:#173b34}.voice-card .quiet{background:transparent;color:#fff;border-color:#d7e0d7;margin:0}.voice-card button.active{background:#c15b45;border-color:#c15b45;color:#fff}.voice-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#b8a66b;margin-right:7px}.voice-dot.live{background:#73d29b;box-shadow:0 0 0 5px rgb(115 210 155 / 18%)}#voice-transcript{max-height:260px;overflow:auto;margin-top:16px}#voice-transcript p{white-space:pre-wrap;border-left:2px solid #78978f;padding-left:12px}#voice-transcript .you{color:#d8ddd1}@media(max-width:480px){main{padding:22px 14px 45px}section{padding:20px}.intro{font-size:31px}}

#raven{background:#faf7ec;border-color:#c5c4af}#raven h2{margin:9px 0}#raven select{width:100%;font:inherit;border:1px solid #aebbaa;border-radius:9px;padding:13px;margin:8px 0 16px;background:#fff;color:#173b34;min-height:44px}#raven-people article{padding:14px 0;border-top:1px solid #d6dbc9}#raven-people h3{margin:0}#raven-people .raven-note{background:#fff;border-left:3px solid #b49d60;border-radius:4px;padding:9px 12px;white-space:pre-wrap;overflow-wrap:anywhere}#raven details{margin:14px 0;background:#fffef7}#raven summary{font-weight:650}#raven small{letter-spacing:.06em;display:inline-block;margin-top:8px}


/* Private owner memory navigation: a single compact landing view on mobile. */
#owner-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:sticky;top:0;z-index:20;padding:10px 0;background:#f2f1e9;border-bottom:1px solid #d5dbce}
#owner-nav button{background:#fffef7;color:#173b34;border-color:#ced4c8;min-width:0;padding:10px 8px;font-weight:650}
#owner-nav button[aria-current="page"]{background:#173b34;border-color:#173b34;color:#f3e2ad}
#memory-hub{background:linear-gradient(145deg,#e2e9db,#f9f6e9);border-color:#b5c4b4}
#memory-hub h2{margin:8px 0 10px}
.memory-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0}
.memory-stats>div{background:#fffef7;padding:13px 9px;border:1px solid #ced5c8;border-radius:12px;min-width:0}
.memory-stats strong{display:block;font:normal 30px Georgia,serif;color:#173b34}
.memory-stats span{display:block;font-size:11px;color:#526c5c;line-height:1.3;margin-top:3px}
.hub-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}
.hub-filters button{background:#fffef7;color:#173b34;border-color:#aebbaa;padding:7px 13px;min-height:40px;font-size:13px}
.hub-filters button[aria-pressed="true"]{background:#173b34;color:#fffef7;border-color:#173b34}
.memory-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.memory-actions .quiet{margin:0}
#hub-results-summary{margin:16px 0 0}
#memory-view>section{scroll-margin-top:90px}
#review{scroll-margin-top:90px}
#connections-view details{margin:20px 0}
@media(max-width:480px){#owner-nav button{font-size:14px}.memory-stats strong{font-size:25px}.memory-actions button{flex:1 1 150px}}

/* Review-required drafts are always discoverable on mobile. */
.pending-banner{
  position:sticky;top:64px;z-index:19;
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin:10px 0;padding:13px 15px;
  border:2px solid #97793c;border-radius:14px;
  background:#fff9e5;color:#173b34;
  box-shadow:0 4px 14px rgb(17 48 42 / 14%);
}
.pending-banner strong{font-size:15px}
.pending-banner span{flex:1 1 180px;font-size:12px}
.pending-banner button{flex:1 1 165px;background:#173b34;color:#fff;min-height:46px}
#review{scroll-margin-top:150px;outline:none}
#review:focus-visible{outline:3px solid #b5964d;outline-offset:3px}
.voice-card .voice-copy{margin-top:12px;background:transparent;color:#fff;border:1px solid #c8d4c9}
#copy-chat{margin-left:10px}
#hub-hovel-spelling{flex:1 1 100%;margin-top:2px}
@media(max-width:480px){
  .pending-banner{top:62px;gap:8px;padding:10px}
  .pending-banner button{flex:1 1 100%}
  #copy-chat{margin-left:0}
}

/* Raven diagnostics: owner-only, clear in daylight and on folded phones. */
.diagnostic-card{background:#fffef7;border-color:#c4d0c7}
.diagnostic-card h2{margin:8px 0 16px}
.diagnostic-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}
#diagnostics-status{font-size:13px;color:#3c5f53;line-height:1.5;overflow-wrap:anywhere;flex:1 1 220px}
#diagnostics-summary{padding:12px 14px;background:#ecf0e7;border-radius:10px;font-weight:600;font-size:14px}
.diagnostic-list{display:grid;gap:10px;margin:14px 0 26px}
.diagnostic-item{background:#f6f8f1;border:1px solid #d5dfd4;border-left:4px solid #6c8b77;border-radius:10px;padding:12px 14px;overflow-wrap:anywhere}
.diagnostic-item strong{display:block;font-size:15px}
.diagnostic-item p{margin:5px 0;font-size:13px}
.diagnostic-item small{font-size:12px;color:#536d61}
#diagnostics-view h3{margin:22px 0 12px}
@media(max-width:520px){
  #owner-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pending-banner{top:119px}
  #owner-nav button{font-size:14px}
  .diagnostic-actions button{width:100%}
  #diagnostics-view{scroll-margin-top:135px}
}
