:root{--bg: #0b1220;--surface: #131c2e;--surface-2: #1b2740;--text: #e6edf6;--muted: #93a1b5;--teal: #0f766e;--teal-2: #14b8a6;--mint: #5eead4;--amber: #f59e0b;--red: #ef4444;--radius: 14px;--maxw: 560px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100%;max-width:var(--maxw);margin:0 auto;position:relative}.topbar{display:flex;align-items:baseline;gap:8px;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:linear-gradient(180deg,var(--teal),transparent);position:sticky;top:0;z-index:5;flex-wrap:wrap}.brand{font-weight:700;font-size:1.1rem}.brand-tag{color:var(--mint);font-size:.72rem;opacity:.9}.lang-select{margin-left:auto;width:auto;padding:4px 8px;font-size:.78rem;background:var(--surface-2);border:1px solid var(--surface-2);color:var(--text);border-radius:8px}.content{flex:1;padding:8px 16px 96px;overflow-y:auto}.screen-head h1{margin:8px 0 4px;font-size:1.5rem}.sub{color:var(--muted);margin:0 0 16px;font-size:.92rem}.section-title{margin:20px 0 8px;font-size:1rem;color:var(--mint)}.muted{color:var(--muted)}.small{font-size:.8rem}.center{text-align:center}.fineprint{font-size:.74rem;color:var(--muted);margin:10px 0 0}.error{color:#fecaca;background:#ef44441f;padding:10px 12px;border-radius:10px}.btn{appearance:none;border:1px solid var(--surface-2);background:var(--surface-2);color:var(--text);padding:10px 14px;border-radius:10px;font-size:.92rem;font-weight:600;cursor:pointer}.btn.primary{background:var(--teal-2);border-color:var(--teal-2);color:#052e2b}.btn.ghost{background:transparent}.btn:active{transform:translatey(1px)}.icon-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:4px}.recorder{display:flex;flex-direction:column;align-items:center;gap:14px;margin:18px 0}.record-btn{width:130px;height:130px;border-radius:50%;border:3px solid var(--teal-2);background:var(--surface);color:var(--text);font-size:1.05rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.record-btn.on{background:#ef44442e;border-color:var(--red)}.record-dot{width:22px;height:22px;border-radius:50%;background:var(--red);transition:transform .06s linear}.level-meter{width:100%;height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}.level-fill{height:100%;background:var(--teal-2);width:0}.upload{text-align:center}.result-card{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);padding:16px;margin:16px 0}.result-card.primary{border-color:var(--teal)}.result-card.primary.alert{border-color:var(--amber);background:#f59e0b14}.result-card.experimental{opacity:.92;border-style:dashed}.result-row{display:flex;gap:8px;flex-wrap:wrap}.result-title{margin:8px 0;font-size:1.25rem}.kicker{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--mint)}.kicker.exp{color:var(--amber)}.badge{font-size:.74rem;font-weight:700;padding:4px 10px;border-radius:99px}.badge.calm{background:#14b8a633;color:var(--mint)}.badge.distressed{background:#ef444433;color:#fecaca}.badge.uncertain{background:var(--surface-2);color:var(--muted)}.badge.tuned{background:#5eead42e;color:var(--mint)}.confidence{display:flex;align-items:center;gap:10px;margin:12px 0}.confidence-bar{position:relative;flex:1;height:10px;background:var(--surface-2);border-radius:99px;overflow:hidden}.confidence-bar.fgs{overflow:visible}.confidence-fill{height:100%;background:var(--teal-2);border-radius:99px}.result-card.alert .confidence-fill{background:var(--amber)}.threshold-mark{position:absolute;top:-3px;width:2px;height:16px;background:var(--text);opacity:.6}.confidence-val{font-size:.8rem;color:var(--muted);white-space:nowrap}.player{width:100%;margin:8px 0}.why{margin:8px 0}.why summary{cursor:pointer;color:var(--mint);font-size:.88rem}.why ul{margin:8px 0 0;padding-left:18px}.au-list{list-style:none;padding:0}.au-list li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--surface-2)}.au-score{color:var(--mint);font-weight:700}.vet-prompt{color:#fde68a;font-weight:600}.ok-note{color:var(--mint)}.caveat{font-size:.82rem;color:#fde68a}.disclaimer{margin-top:12px;padding-top:10px;border-top:1px solid var(--surface-2);font-size:.84rem;color:var(--muted)}.exp-emotion{margin:8px 0}.cloud-banner{font-size:.78rem;color:var(--mint);background:#5eead41a;border:1px solid rgba(94,234,212,.25);border-radius:10px;padding:8px 12px}.capture-row{display:flex;justify-content:center;margin:8px 0}.preview{width:100%;border-radius:var(--radius);margin:12px 0;max-height:320px;object-fit:cover}.intent-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 16px}.intent-btn{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--surface);border:1px solid var(--surface-2);border-radius:12px;padding:12px;color:var(--text);cursor:pointer}.intent-btn.active{border-color:var(--teal-2)}.text-meow{display:flex;gap:8px}.text-meow input{flex:1}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}input[type=text],input:not([type]),select{background:var(--surface-2);border:1px solid var(--surface-2);color:var(--text);padding:10px 12px;border-radius:10px;font-size:.95rem;width:100%}select{width:auto}.sr-label{display:flex;flex-direction:column;font-size:.72rem;color:var(--muted);gap:4px}.savebar{display:flex;gap:10px;align-items:flex-end;margin-top:12px;flex-wrap:wrap}.savebar.saved{color:var(--mint)}.savebar.muted{display:block;font-size:.86rem}.cat-tabs,.cat-chip{display:inline-flex}.cat-tabs{gap:8px;flex-wrap:wrap;margin-bottom:12px}.cat-chip{background:var(--surface);border:1px solid var(--surface-2);color:var(--text);padding:8px 14px;border-radius:99px;cursor:pointer}.cat-chip.active{background:var(--teal-2);color:#052e2b;border-color:var(--teal-2);font-weight:700}.add-cat{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:14px}.cat-header h2{font-size:1.15rem;margin:6px 0}.personalization{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:12px;padding:12px;margin:8px 0}.pers-stat strong{font-size:1.3rem;color:var(--mint)}.trend{margin:12px 0}.trend-bars{display:flex;align-items:flex-end;gap:3px;height:70px;background:var(--surface);border-radius:10px;padding:8px}.trend-col{flex:1;height:100%;display:flex;align-items:flex-end}.trend-stack{width:100%;background:var(--teal-2);border-radius:3px 3px 0 0;position:relative;min-height:3px}.trend-distress{position:absolute;bottom:0;width:100%;background:var(--red);border-radius:0 0 3px 3px}.trend-gap{width:100%;height:2px;background:var(--surface-2);align-self:flex-end}.history{list-style:none;padding:0;margin:0}.history-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--surface-2)}.history-main{display:flex;gap:10px;align-items:center}.history-kind{font-size:1.2rem}.history-label{font-size:.9rem}.history-fb{display:flex;gap:4px;align-items:center}.fb-done{font-size:.78rem;color:var(--mint)}.settings{margin-top:24px;padding-top:8px;border-top:1px solid var(--surface-2)}.toggle{display:flex;gap:10px;align-items:center;font-size:.9rem}.toggle input{width:auto}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--maxw);display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--surface-2);padding:8px 0 calc(env(safe-area-inset-bottom) + 8px);z-index:6}.nav-btn{background:none;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font-size:.7rem;padding:4px 12px}.nav-btn.active{color:var(--mint)}.nav-icon{font-size:1.3rem}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:20}.modal{background:var(--surface);border-radius:16px 16px 0 0;padding:20px;width:100%;max-width:var(--maxw)}.modal h2{margin-top:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}@media (min-width: 600px){.modal-overlay{align-items:center}.modal{border-radius:16px}}
