@import url("https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&display=swap");:root{--bg:#f5f3f0;--surface:#fff;--ink:#1c1917;--mute:#5f5953;--line:#e3ded8;--brand:#c2410c;--on-brand:#fff;--soft:#fdeadc;--ok:#166534;--err:#b42318;--errbg:#fdecea;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#13110f;--surface:#1e1b18;--ink:#f4efea;--mute:#b5aca3;--line:#34302b;--brand:#ff8a4c;--on-brand:#1a0d05;--soft:#3a2416;--ok:#6ee7a0;--err:#ffb4a8;--errbg:#3b1d19;color-scheme:dark}}:root[data-theme=dark]{--bg:#13110f;--surface:#1e1b18;--ink:#f4efea;--mute:#b5aca3;--line:#34302b;--brand:#ff8a4c;--on-brand:#1a0d05;--soft:#3a2416;--ok:#6ee7a0;--err:#ffb4a8;--errbg:#3b1d19;color-scheme:dark}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0);font-size:100%;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);overflow:hidden;font:1rem/1.5 Atkinson Hyperlegible,system-ui,-apple-system,Segoe UI,sans-serif}#app,body{height:100%}#app{display:flex;flex-direction:column;max-width:72rem;margin:0 auto}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;touch-action:manipulation}a{color:inherit}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}svg{width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}h1{font-size:1.5rem;line-height:1.2;margin:.25rem 0}h2{font-size:1.125rem;margin:0 0 .5rem}p{margin:0}.mute{color:var(--mute)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}header{padding:.5rem .75rem}.logo,header{display:flex;align-items:center;gap:.5rem}.logo{font-weight:700;font-size:1.25rem;margin-right:auto;min-width:0}.logo i{width:2rem;height:2rem;border-radius:.5rem;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;flex:none}.logo small{display:block;font-size:.875rem;font-weight:400;color:var(--mute);line-height:1.1}.ib{min-width:2.75rem;min-height:2.75rem;border-radius:.75rem;display:grid;place-items:center;padding:0 .5rem;font-weight:700}.ib:hover{background:var(--line)}.press{transition:transform .12s ease,background-color .12s ease,filter .12s ease}.press:active{transform:scale(.95);filter:brightness(.92)}main{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.5rem .75rem 1rem}main.chat{display:flex;flex-direction:column;overflow:hidden;padding-bottom:.5rem}nav{padding:.375rem .25rem;border-top:1px solid var(--line);background:var(--surface)}nav,nav a{display:flex;gap:.125rem}nav a{flex:1 1;min-width:0;min-height:3.25rem;flex-direction:column;align-items:center;justify-content:center;border-radius:.75rem;text-decoration:none;color:var(--mute);font-size:.875rem;font-weight:700;text-align:center;-webkit-hyphens:auto;hyphens:auto}nav a[aria-current=page]{color:var(--brand);background:var(--soft)}body.typing nav{display:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:.875rem;margin-bottom:.75rem}.grid{display:grid;grid-gap:.75rem;gap:.75rem}.fields{grid-template-columns:1fr}label{display:grid;grid-gap:.25rem;gap:.25rem;font-weight:700}.in,select{border:2px solid var(--line);background:var(--bg);padding:0 .75rem;width:100%}.btn,.in,select{min-height:3rem;border-radius:.75rem}.btn{padding:0 1.25rem;background:var(--brand);color:var(--on-brand);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.btn.alt{background:transparent;color:var(--ink);border:2px solid var(--line)}.btn[aria-disabled=true]{opacity:.55;pointer-events:none}.ready{align-items:center;margin-top:.75rem;color:var(--ok);font-weight:700}.ready,.seg{display:flex;gap:.5rem}.seg button{flex:1 1;min-height:3rem;border:2px solid var(--line);border-radius:.75rem;font-weight:700;background:var(--surface)}.seg button[aria-pressed=true]{border-color:var(--brand);background:var(--soft)}.scale{display:flex;align-items:center;justify-content:space-between;gap:1rem}.scale b{font-size:1.25rem}.note{font-size:.9375rem;color:var(--mute);margin:0 0 .5rem}.stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;margin-bottom:.75rem}.stat{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:.75rem}.stat b{display:block;font-size:1.75rem;line-height:1.1}.row{display:flex;gap:.75rem;align-items:center;padding:.625rem 0;border-top:1px solid var(--line)}.row:first-of-type{border-top:0}.row>div{flex:1 1;min-width:0}.cover{width:3rem;height:3.5rem;background:var(--soft);color:var(--brand);display:grid;place-items:center;flex:none}.cover,.sk{border-radius:.5rem}.sk{background:linear-gradient(90deg,var(--line),var(--bg),var(--line));background-size:200% 100%;animation:sk 1.4s linear infinite;min-height:1rem}@keyframes sk{to{background-position:-200% 0}}.err{background:var(--errbg);color:var(--err);border-radius:1rem;padding:.875rem;margin-bottom:.75rem}.err .btn{margin-top:.5rem}.msgs{flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.25rem 0 .5rem}.m{max-width:88%;padding:.625rem .875rem;border-radius:1rem;white-space:pre-wrap;overflow-wrap:anywhere}.m.u{align-self:flex-end;background:var(--brand);color:var(--on-brand);border-bottom-right-radius:.25rem}.m.a{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:.25rem}.m small{display:block;margin-top:.375rem;color:var(--mute);font-weight:700}.m .tts-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:.375rem}.m .tts-btn{display:inline-grid;place-items:center;width:1.875rem;height:1.875rem;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--mute);cursor:pointer;opacity:.8;transition:background-color .14s ease,color .14s ease,opacity .14s ease}.m .tts-btn:hover{background:var(--soft);color:var(--ink);opacity:1}.m .tts-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.m .tts-btn:disabled{opacity:.45;cursor:wait}.m .tts-btn svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.chip{min-height:2.75rem;padding:0 .875rem;border-radius:999px;border:2px solid var(--line);background:var(--surface);font-weight:700;text-align:left}form.comp{display:flex;gap:.5rem;padding-top:.5rem}form.comp .in{flex:1 1;min-width:0}form.comp .attach-btn{flex:0 0 3rem;width:3rem;min-width:3rem;padding:0;border-radius:50%;font-size:1.75rem;line-height:1;font-weight:400}.attachment-status{display:flex;align-items:center;justify-content:space-between;gap:.5rem;max-width:100%;margin-top:.5rem;padding:.375rem .625rem;border:1px solid var(--line);border-radius:.5rem;color:var(--ink);font-size:.875rem}.attachment-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border:0;border-radius:.375rem;background:transparent;color:inherit;cursor:pointer}.attachment-remove:hover{background:var(--soft)}.attachment-remove svg{width:1rem;height:1rem}.attachment-remove:disabled{opacity:.45;cursor:wait}form.comp .voice-btn{width:3rem;min-width:3rem;padding:0}form.comp .voice-btn[aria-pressed=true]{background:var(--soft);border-color:var(--brand);color:var(--brand)}.kbbar{display:flex;gap:.5rem;margin:.75rem 0 .25rem;flex-wrap:wrap}.kbbar .in{flex:1 1;min-width:10rem}svg.chart{width:100%;height:12rem;margin:.5rem 0 0}.ends{display:flex;justify-content:space-between;font-size:.9375rem}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.legend span{display:flex;align-items:center;gap:.375rem}.bar{height:.625rem;border-radius:99px;background:var(--line);overflow:hidden}.bar i{display:block;height:100%;background:var(--brand)}.toast{position:fixed;left:50%;bottom:calc(5rem + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:.625rem 1rem;border-radius:.75rem;font-weight:700;z-index:5}@media (min-width:48rem){.fields{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(4,1fr)}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}main{padding:.5rem 1.25rem 1rem}header,nav{padding-left:1.25rem;padding-right:1.25rem}nav{border-top:0;order:-1;background:none;padding-top:0}nav a{flex:0 0 auto;flex-direction:row;gap:.5rem;padding:0 1rem;min-height:2.75rem}}@media (prefers-reduced-motion:reduce){.sk{animation:none}.press{transition:none}}.hero{background:#1c1917;color:#f4efea;border-radius:1rem;padding:1rem;margin-bottom:.75rem}.hero h1 span{color:#ff8a4c;display:block}.hero p{margin:.25rem 0 .75rem}.hero .actions{display:flex;gap:.5rem;flex-wrap:wrap}.hero .btn{background:#ff8a4c;color:#1a0d05}.hero .btn.alt{background:transparent;color:#f4efea;border-color:#57534e}.avatar{background:var(--soft);color:var(--brand);text-decoration:none}.chat .seg button{min-height:2.5rem}.m .m-img-frame{display:flex;align-items:center;justify-content:center;width:min(100%,420px);height:240px;margin-top:.5rem;overflow:hidden;border:1px solid var(--line);border-radius:.75rem;background:var(--soft)}.m .m-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.m .chip{margin-top:.5rem}.kbpanel{margin-bottom:1rem;display:grid;grid-gap:.75rem;gap:.75rem}.kbpanel label{display:block;font-weight:600;margin-bottom:.25rem}.kbpanel .in{width:100%}.kbpanel ul{margin:.25rem 0 0 1.25rem}.kbact{display:flex;gap:.5rem;flex-wrap:wrap}