:root{color-scheme:dark;--page:#080808;--surface:#101010;--raised:#191919;--text:#f5f5f5;--muted:#a5a5af;--green:#47ce80;--blue:#6aa9ff;--orange:#fb8b64;--cyan:#63d4ca}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{border:0;border-radius:12px;padding:12px 19px;background:#242424;color:var(--text);cursor:pointer;transition:background .15s}button:hover:not(:disabled){background:#303030}button:disabled{opacity:.34;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}header{height:100px;max-width:1280px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:24px;font-weight:850;letter-spacing:.7px;color:var(--text);text-decoration:none}.brand span{display:block;font-size:9px;font-weight:500;letter-spacing:3px;color:var(--muted);margin-top:-1px}.header-right{display:flex;gap:20px;align-items:center}.badge{font-size:11px;color:var(--muted);background:var(--raised);padding:5px 11px;border-radius:6px}.quiet{background:transparent;color:#c2c2c9}main{max-width:1280px;padding:10px 40px 30px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:20px 0 32px}.eyebrow{color:var(--green);font-size:12px;letter-spacing:1.5px;margin:0 0 7px}h1{font-size:38px;line-height:1.25;letter-spacing:-1.5px;margin:0 0 12px}p{margin:0 0 12px}.muted{color:var(--muted);font-size:13px}.connect-area{display:flex;flex-direction:column;align-items:flex-end;gap:13px}#connection{color:var(--muted);font-size:12px;display:flex;gap:7px;align-items:center}#connection i{width:6px;height:6px;border-radius:50%;background:#6b6b71}#connection.connected i{background:var(--green)}.primary{background:var(--green);color:#082314;font-weight:650}.primary:hover:not(:disabled){background:#6ade99}.primary span{margin-left:35px}.panel{background:var(--surface);border-radius:20px;padding:24px;margin-bottom:18px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title h2{font-size:16px;margin:0;font-weight:650}.section-title>span{font-size:11px;color:var(--muted)}.bean-fields{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:18px;align-items:end}label{font-size:11px;color:var(--muted)}label>span{float:right}input{display:block;width:100%;margin-top:7px;border:0;background:var(--raised);border-radius:9px;color:var(--text);padding:11px 13px;min-width:0}.profile{align-self:center;padding-left:10px}.profile span,.profile small{display:block;color:var(--muted);font-size:10px}.profile strong{font-weight:500;font-size:13px}.profile small{margin-top:4px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 24px}.metrics>div{padding-left:26px;border-left:1px solid #242424}.metrics>div:first-child{padding:0;border:0}.metrics span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.metrics strong{font-size:34px;line-height:1.25;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.metrics b{font-weight:inherit}.metrics small{font-size:12px;font-weight:400;color:var(--muted);margin-left:5px}.chart-wrap{position:relative;height:350px}canvas{width:100%;height:100%;display:block}#empty{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;pointer-events:none;gap:8px}#empty .empty-icon{color:#3d6250;font-size:45px;line-height:1}#empty strong{font-size:15px;font-weight:500}#empty p{font-size:12px;color:var(--muted)}[hidden]{display:none!important}.legend{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:12px 0 24px}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:13px;height:2px;background:var(--blue)}.legend i.et{background:var(--orange)}.legend i.ror{background:var(--cyan)}.legend small{margin-left:auto;font-size:10px;color:#92929c}.record-actions{display:flex;align-items:center;gap:13px;padding-top:20px;border-top:1px solid #242424}.marks{display:flex;gap:8px;flex:1;justify-content:center}.marks button{font-size:12px;padding:11px 23px;background:#1c1c1c}.events{display:flex;gap:10px;flex-wrap:wrap}.events span{font-size:11px;color:#c5c5cc;background:#202020;padding:5px 10px;border-radius:6px;margin-top:15px}.bottom-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:18px}.bottom-grid .panel{margin-bottom:0}.exports{display:flex;gap:10px}.exports button{font-size:12px}.connection-panel p{font-size:12px}footer{display:flex;justify-content:space-between;padding:25px 0;color:#85858e;font-size:10px;letter-spacing:.6px}#notice{background:#24251a;border-radius:10px;color:#e9dfaa;font-size:13px;padding:13px 17px;margin-bottom:18px}dialog{border:0;background:#1b1b1b;color:var(--text);border-radius:20px;padding:28px;max-width:540px;width:calc(100% - 32px)}dialog::backdrop{background:#0008;backdrop-filter:blur(8px)}.dialog-title{display:flex;align-items:center;justify-content:space-between}.dialog-title h2{margin:0;font-size:20px}.dialog-title button{font-size:23px;background:transparent;padding:0 8px}dialog li,dialog p{font-size:13px;color:#c1c1ca;margin-bottom:13px}dialog ol{padding-left:20px;margin-top:25px}dialog a{font-size:12px;color:var(--green)}@media(max-width:760px){header{height:80px;padding:0 20px}.brand{font-size:20px}.badge{display:none}main{padding:0 18px 20px}.intro{gap:15px;align-items:flex-start;flex-direction:column;padding-top:15px}h1{font-size:31px}.connect-area{width:100%;align-items:stretch;flex-direction:row;align-items:center;justify-content:space-between}.panel{padding:20px;border-radius:16px}.bean-fields{grid-template-columns:2fr 1fr}.profile{grid-column:1/-1;padding:4px 0 0}.metrics{grid-template-columns:repeat(2,1fr);gap:18px}.metrics>div{padding:0;border:0}.metrics strong{font-size:29px}.chart-wrap{height:290px}.legend{gap:13px}.legend small{margin:0;flex-basis:100%}.record-actions{flex-wrap:wrap}.marks{order:3;flex-basis:100%;justify-content:space-between;gap:6px}.marks button{padding:10px 15px;flex:1}.record-actions>.quiet{margin-left:auto}.bottom-grid{grid-template-columns:1fr}footer{gap:20px;flex-wrap:wrap}#empty p{max-width:220px;text-align:center}}

.engine-settings{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:20px;color:var(--muted);font-size:11px}.engine-settings select,.engine-settings input[type=number]{margin:5px 0 0;display:block;max-width:90px;background:var(--raised);color:var(--text);border:0;border-radius:6px;padding:6px 8px}.engine-settings input[type=checkbox]{display:inline;width:auto;margin:0 5px 0 0}.engine-settings>span{margin-left:auto}
.phone-panel{display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:center}.phone-panel h2{font-size:23px;margin:0 0 12px}.phone-panel .muted{max-width:570px}.phone-panel small{font-size:11px;color:var(--muted)}#phone-status{font-size:13px;color:var(--green);margin:15px 0 5px}.qr-area{display:flex;align-items:center;justify-content:center;width:240px;min-height:240px;background:#181818;border-radius:15px}#phone-qr{display:block;width:220px;height:220px;border-radius:6px}#qr-placeholder{text-align:center;color:#b3b3bd;line-height:1.8}@media(max-width:760px){.phone-panel{grid-template-columns:1fr;gap:22px}.qr-area{justify-self:center}}
.workspace.has-data .legend{background:#fff;color:#252525;padding:10px;border-radius:8px}.workspace.has-data .legend i.bt{background:#00007f}.workspace.has-data .legend i.et{background:#ff0000}.workspace.has-data .legend i.ror{background:#0000ff}
/* App presentation: task views and persistent navigation. */
html{min-height:100%;scroll-padding-top:90px}
body{min-height:100dvh}
.app-header{position:sticky;top:0;z-index:20;max-width:none;width:100%;height:78px;padding:0 max(24px,calc((100% - 1000px)/2));background:rgba(8,8,8,.88);backdrop-filter:blur(16px)}
.app-header .brand{font-size:23px}
.app-header .brand span{letter-spacing:2px;font-size:10px;margin-top:2px}
.app-header .header-right{gap:18px}
.app-main{max-width:1048px;padding:24px 24px calc(112px + env(safe-area-inset-bottom));min-height:calc(100dvh - 78px)}
.view-heading{padding:10px 0 25px}
.view-heading h1{font-size:32px;margin-bottom:10px}
.view-heading .eyebrow{font-size:10px;letter-spacing:2px;color:#8f9b94}
.view-heading p{margin-bottom:0}
.phone-panel{grid-template-columns:1fr 260px;gap:30px;padding:30px;min-height:295px}
.phone-panel h2{font-size:22px}
.phone-panel .primary{margin-top:10px}
.intro{padding:20px 4px 22px}
.intro h2{font-size:22px;letter-spacing:-.5px;margin:0 0 10px}
.intro .eyebrow{font-size:10px;color:#91919b}
.intro>.connect-area{min-width:160px}
.intro>.connect-area .primary{min-width:160px}
.app-view>.connection-panel{padding:20px 24px}
.app-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(680px,100%);height:calc(78px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;align-items:flex-start;padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:rgba(17,17,17,.94);backdrop-filter:blur(18px);border-radius:24px 24px 0 0}
.app-nav::before{content:'';position:absolute;z-index:-1;left:0;right:0;top:-20px;height:24px;background:linear-gradient(transparent,rgba(8,8,8,.55));pointer-events:none}
.app-nav button{width:29%;height:59px;padding:5px;background:transparent;color:#91919b;border-radius:14px;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.app-nav button span{font-size:23px;line-height:1.15;font-weight:400}
.app-nav button[aria-current=page]{color:#63d48c;background:#1c2820}
.app-nav button:hover:not(:disabled){background:#242424}
.app-footnote{color:#92929b;font-size:12px;padding:12px 4px}
.app-view>.panel{margin-bottom:18px}
.app-view .bean-panel{margin-top:18px}
.app-view .metrics strong{font-size:31px}
.app-view .chart-wrap{height:320px}
.app-header #connection{font-size:11px}
.app-header .quiet{font-size:12px;padding:10px 0}
.app-view:focus{outline:none}
@media(max-width:760px){
 .app-header{height:70px;padding:0 20px}
 .app-header .brand{font-size:21px}
 .app-header .header-right{gap:12px}
 .app-header #connection{max-width:88px}
 .app-main{padding:15px 18px calc(105px + env(safe-area-inset-bottom));min-height:calc(100dvh - 70px)}
 .view-heading{padding:12px 2px 22px}
 .view-heading h1{font-size:29px}
 .phone-panel{grid-template-columns:1fr;padding:24px 22px;gap:20px}
 .phone-panel h2{font-size:20px}
 .qr-area{width:230px;min-height:230px}
 .intro{padding:16px 3px 23px;gap:14px}
 .intro .muted{font-size:12px}
 .intro>.connect-area{justify-content:flex-start}
 .intro>.connect-area .primary{width:100%}
 .app-nav{height:calc(74px + env(safe-area-inset-bottom));padding-top:6px}
 .app-nav button{height:57px}
 .app-view .chart-wrap{height:275px}
 .app-view .metrics strong{font-size:29px}
}

.app-nav svg{width:23px;height:23px;display:block}

.app-nav[hidden] { display: none; }
.assistant-home { padding-block: clamp(28px, 7vh, 100px); }
.assistant-hero {
  display: grid;
  align-content: center;
  justify-items: start;
  min-height: min(62vh, 640px);
  padding: clamp(24px, 7vw, 88px);
  border-radius: 28px;
  background: var(--surface);
}
.assistant-hero h1 { margin: 0; font-size: clamp(38px, 8vw, 80px); line-height: 1.04; }
.assistant-hero h1 span { font-size: .64em; }
.assistant-hero p { color: var(--muted); margin: 24px 0; }
@media (max-width: 480px) {
  .assistant-hero .primary { width: 100%; }
}
.app-nav button { flex: 1 1 0; min-width: 0; }
