:root{--green:#20664f;--line:#e5e9e7;--muted:#7c8584}*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:#202b29;font:14px Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #91c4ab;outline-offset:3px}.shell{display:flex;min-height:100vh}aside{width:248px;background:white;border-right:1px solid var(--line);padding:36px 24px;position:fixed;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:29px;font-weight:700;letter-spacing:-1.4px;text-decoration:none;color:#26372d}.brand b{display:grid;place-items:center;background:var(--green);color:white;width:38px;height:40px;border-radius:11px;font-size:26px}.brand>span{color:#72a68b;margin-left:-10px}.workspace{font-size:9px;letter-spacing:1.7px;color:#969e9b;margin:60px 0 20px}.nav{background:#edf4ef;color:var(--green);padding:14px 12px;border-radius:7px;font-size:12px}.nav span{float:right}.aside-note{margin-top:auto;padding:22px 10px}.little-wave{color:#76a28c;font-size:25px;letter-spacing:3px}.aside-note h3{font-size:13px;margin-top:21px}.aside-note p{font-size:12px;line-height:1.8;color:var(--muted)}.version{padding-top:22px;border-top:1px solid var(--line);font-size:8px;letter-spacing:1.3px;color:#8b9691;display:flex;justify-content:space-between}main{margin-left:248px;width:calc(100% - 248px)}header{height:83px;border-bottom:1px solid var(--line);background:#ffffff80;display:flex;justify-content:space-between;align-items:center;padding:0 48px;font-size:11px;color:var(--muted)}header strong{font-weight:500;color:#46534c}header em{font-style:normal;padding:0 15px;color:#c4cbc7}.health{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);padding:9px 12px;border-radius:30px;font-size:10px;color:#79796d}i{display:inline-block;width:6px;height:6px;background:#c5ae72;border-radius:50%}.ready i,footer i{background:#75a68a}.page{max-width:1330px;margin:auto;padding:49px 48px 25px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:var(--green);display:flex;align-items:center;gap:17px}.eyebrow span{font-size:8px;letter-spacing:.8px;background:#edf0ee;padding:6px 8px;border-radius:4px;color:#8c9791}h1{font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-1.7px;margin:21px 0 15px}h1>span{color:#70a187}.intro{color:var(--muted);line-height:1.85;font-size:12px}.tabs{display:flex;gap:6px;margin:34px 0 23px;padding:5px;background:#eaeeeb;border:1px solid #e3e7e4;border-radius:10px;width:fit-content}.tabs button{border:0;background:none;color:#7b8780;padding:12px 17px;border-radius:7px;font-size:13px}.tabs button[aria-selected=true]{background:#fff;box-shadow:0 1px 4px #213b2310;color:var(--green)}.tabs small{font-size:8px;background:#f1f4f1;padding:3px 5px;border-radius:3px;margin-left:8px}.grid{display:grid;grid-template-columns:1.08fr 1fr;gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-head{display:flex;align-items:center;gap:12px;padding:25px 24px;border-bottom:1px solid #f0f2f0}.step{font-size:10px;color:#668675;background:#f0f5f1;border:1px solid #e3ebe5;border-radius:8px;padding:9px}h2{font-size:14px;font-weight:600;margin:0 0 7px}.card-head p{color:var(--muted);font-size:10px;margin:0}.method{margin-left:auto;color:#729582;font-size:8px;letter-spacing:1px;background:#f1f6f2;padding:5px 7px;border-radius:4px}form{padding:25px 24px 16px}label{font-size:11px;font-weight:500;color:#4f5d54}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.text-button{background:none;border:0;color:#55836b;font-size:10px;padding:0}.text-button:hover{text-decoration:underline}textarea{resize:vertical;min-height:160px;padding:17px;border:1px solid #dfe6e1;border-radius:8px;line-height:1.9;font-size:13px;color:#4c5a50}input,select,textarea{width:100%;background:#fcfdfc}input,select{padding:13px 11px;border:1px solid #dfe6e1;border-radius:6px;color:#526058;margin-top:10px;font-size:12px}input:focus,select:focus,textarea:focus{outline:2px solid #9ec4ad;outline-offset:1px}.meta{display:flex;justify-content:space-between;color:#9ba49e;font-size:9px;margin-top:9px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:26px 0}.primary{width:100%;background:var(--green);color:white;border:0;border-radius:7px;padding:15px 18px;font-size:12px;display:flex;justify-content:center;gap:18px}.primary:hover{background:#174d3c}.endpoint{text-align:center;font:9px monospace;color:#9ca59e;margin:13px 0 0}.output{display:flex;flex-direction:column}.result{flex:1 1;display:flex;min-height:300px}.empty{margin:auto;text-align:center;padding:30px 10px}.wave{display:flex;gap:5px;align-items:center;justify-content:center;height:85px;margin-bottom:25px}.wave i{width:5px;border-radius:10px;background:#bbd3c4}.wave i:nth-child(3n){background:#659d7b}.wave i:nth-child(2n){background:#90b99f}.empty h3{font-size:14px;font-weight:500}.empty p{font-size:11px;color:#929d96;line-height:1.9;white-space:pre-line}.result-footer{border-top:1px solid #f0f2f0;padding:17px 24px;display:flex;justify-content:space-between;font-size:9px;color:#99a39d}.result-footer span:last-child{color:#608b71}.failure,.success{padding:28px;width:100%;overflow-wrap:anywhere}.success p{line-height:1.9;white-space:pre-wrap}.result-label{font-size:9px;letter-spacing:1.5px;color:#70947e}audio{display:block;width:100%;margin:25px 0}.download{display:inline-block;font-size:12px;text-decoration:none;border:1px solid #d8e6dc;border-radius:6px;padding:10px}.badge,.download{color:var(--green)}.badge{font-size:9px;margin-left:auto}.error,.failure{color:#a64b3b}.failure p{font-size:12px;line-height:1.8}details{border:1px solid var(--line);background:#fff;border-radius:9px;margin-top:23px}summary{display:flex;justify-content:space-between;padding:19px 21px;font-size:11px;color:#65766a}summary span:last-child{font-size:10px;color:#9ca79f}.inspector{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);gap:20px;padding:20px}.inspector h3{font-size:9px;letter-spacing:1px;color:#93a297}pre{font:11px/1.8 monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}footer{display:flex;justify-content:space-between;color:#a2aaa5;font-size:9px;margin-top:27px}footer i{margin-right:6px;width:5px;height:5px}.upload{border:1px dashed #b8ccbf;background:#f8fbf8;border-radius:8px;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;padding:18px;overflow-wrap:anywhere}.upload-icon{font-size:30px;color:#70a083}.upload span:last-of-type{font-size:10px;color:#8d9c92}.upload input{max-width:240px;font-size:10px}.loading i{animation:pulse .8s infinite alternate}.loading i:nth-child(2n){animation-delay:.4s}@keyframes pulse{to{transform:scaleY(.4)}}@media(prefers-reduced-motion:reduce){.loading i{animation:none}}@media(max-width:1100px){aside{width:205px;padding:30px 17px}main{margin-left:205px;width:calc(100% - 205px)}header{padding:0 28px}.page{padding:35px 28px}.grid{grid-template-columns:1fr}.result{min-height:300px}}@media(max-width:650px){aside{position:static;width:auto;height:auto;padding:20px;border-right:0;border-bottom:1px solid var(--line)}.shell{display:block}.brand{font-size:24px}.aside-note,.nav,.version,.workspace{display:none}main{margin:0;width:100%}header{height:65px;padding:0 20px;font-size:9px}.health{font-size:9px;padding:8px}.page{padding:28px 18px}.eyebrow{font-size:8px;letter-spacing:1px;gap:8px}.eyebrow span{font-size:6px}h1{letter-spacing:-1px}.intro br{display:none}.tabs{width:100%;gap:0}.tabs button{flex:1 1;padding:12px 5px;font-size:11px}.card-head,form{padding:20px}.fields{gap:10px}.inspector{grid-template-columns:1fr}footer{font-size:8px;gap:10px}}.nav-link{display:block;text-decoration:none;margin-bottom:8px}.nav-idle{background:transparent;color:#77867c}.nav-idle:hover{background:#f4f7f4}.model-field{display:block}.field-note{font-size:10px;line-height:1.7;color:#89968d;margin:10px 0 24px}.gemma-submit{margin-top:25px}.secondary{display:block;width:100%;border:1px solid #dce6df;background:white;border-radius:7px;padding:11px;margin-top:10px;color:var(--green);font-size:11px}.gemma-result{flex-direction:column;max-height:650px;overflow:auto}.thinking{font-size:55px;color:#80ab91;margin-bottom:20px}.conversation{padding:22px;display:flex;flex-direction:column;gap:16px}.message{padding:16px;border:1px solid #e8ede9;border-radius:9px;background:#f7faf7}.message.model{background:white}.message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px;margin:10px 0 0}.copy-feedback{margin-left:12px;font-size:10px;color:#70947e}.gemma-page h1{max-width:820px}.gemma-page .success{font-size:13px}.gemma-page input:disabled{opacity:.7}.gemma-page .failure p{white-space:pre-wrap}@media(max-width:650px){aside .nav-link{display:block;margin-top:14px;margin-bottom:0;font-size:11px}.gemma-result{max-height:550px}.conversation{padding:16px}}.image-preview{margin:0 0 25px;padding:12px;border:1px solid #e0e8e2;border-radius:9px;background:#f7faf7}.image-preview img{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:4px}.image-preview .meta{gap:12px;align-items:center}.image-preview .meta>span{overflow-wrap:anywhere}.image-preview .text-button{flex-shrink:0}.ocr-actions{display:flex;gap:10px;margin-top:20px}.ocr-actions .secondary{margin:0}.image-notice{margin-bottom:0}.gemma-page .tabs{max-width:100%;flex-wrap:wrap}@media(max-width:650px){.gemma-page .tabs button{min-width:120px;font-size:10px}.gemma-page .tabs small{font-size:7px;margin-left:3px}}.connection-error{padding:18px 22px;background:#fff7ef;border:1px solid #ead9c7;border-radius:9px;margin:24px 0;color:#845c35;font-size:12px}.connection-error p{line-height:1.8}.model-info{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 24px}.model-info span{font-size:9px;color:#738b7b;background:#f0f5f1;padding:5px 7px;border-radius:4px}.system-field{margin-top:24px;display:block}.system-field textarea{display:block;min-height:80px;margin-top:10px}.ollama-metrics{display:flex;gap:16px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid #f0f2f0;color:#8a998e;font-size:10px}.session-card{margin-top:28px}.memory-form,.session-body{padding:22px 24px}.session-body .fields{margin-top:0;margin-bottom:14px}.session-actions{display:flex;gap:10px}.session-actions .secondary{margin-top:0}.session-body .field-note{margin-bottom:0;overflow-wrap:anywhere}.memory-form>textarea{margin-top:10px}.memory-form .operation{margin-top:22px;padding-top:12px;border-top:1px solid var(--line)}.database-paging{justify-content:space-between;align-items:center;margin-top:16px;color:#8a998e;font-size:10px}.checkbox-label{display:flex;align-items:center;gap:10px;margin-top:20px}.checkbox-label input{width:auto;margin:0}.database-message-pages{padding:12px 22px;border-top:1px solid var(--line)}.log-badge{position:fixed;right:20px;bottom:16px;z-index:40;background:#fff;border:1px solid #dce6df;box-shadow:0 3px 15px #20442b14;border-radius:30px;padding:11px 15px;color:#557361;font-size:10px;text-decoration:none;display:flex;align-items:center;gap:7px}.log-badge i{background:#b5beb7}.log-badge i.recording{background:#69a57e}.log-actions{margin-top:18px;flex-wrap:wrap}.log-actions>*{flex:1 1;min-width:130px}.log-actions .secondary{margin-top:0}.journey-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:22px 0;color:#8a998e;font-size:10px}.journey-links a{color:#48785c;text-decoration:none;padding:9px;background:#edf4ef;border-radius:5px}.log-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0}.log-stats>div{padding:20px;background:white;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;gap:8px}.log-stats strong{font-size:26px;font-weight:500;letter-spacing:-1px;color:#35664a}.log-stats span{color:#8a998e;font-size:10px}.log-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:12px;margin-bottom:22px}.log-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.call-list{max-height:850px;overflow:auto}.call-list>.empty{padding:65px 15px}.call-row{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:20px 18px;border:0;border-bottom:1px solid #edf1ed;background:white;color:#35473b}.call-row.selected,.call-row:hover{background:#f1f7f2}.call-number{font-size:10px;border:1px solid #dce8df;border-radius:50%;padding:6px;min-width:27px;text-align:center;color:#87a18f}.call-content{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:9px}.call-title{font-size:12px;font-weight:600;display:flex;flex-wrap:wrap;gap:7px;align-items:center}.call-status{font-size:8px;text-transform:uppercase;letter-spacing:.6px;border-radius:4px;background:#e8f2ea;color:#477453;padding:4px 6px;display:inline-block}.call-status.error{background:#f9e9e5;color:#a65543}.call-status.partial,.call-status.pending{background:#fcf0d9;color:#9a7738}.call-status.cancelled{background:#e9ecea;color:#87958c}.call-endpoint{font:9px/1.7 monospace;overflow-wrap:anywhere;color:#7b8b80}.call-meta{font-size:9px;color:#8d9a90;line-height:1.6}.call-timing{font:9px monospace;text-align:right;white-space:nowrap;color:#64836d}.call-timing small{display:block;font-size:9px;color:#97a299;margin-top:9px}.call-detail{padding:24px;overflow-wrap:anywhere}.call-detail h3{font-size:17px;font-weight:500;line-height:1.6}.call-detail h4{font-size:9px;letter-spacing:1px;color:#879b8c;margin-top:24px}.call-detail dl{display:grid;grid-template-columns:110px 1fr;gap:12px 8px;font-size:10px;line-height:1.7}.call-detail dt{color:#8d9b90}.call-detail dd{margin:0;color:#4f6857}.call-detail pre{background:#f7faf7;padding:14px;border:1px solid #e5eee7;border-radius:6px}.page{padding-bottom:65px}@media(max-width:1200px){.log-grid{grid-template-columns:1fr}.log-filters{grid-template-columns:1fr 1fr}}@media(max-width:650px){.log-stats{grid-template-columns:1fr 1fr;gap:9px}.log-stats>div{padding:15px}.log-actions{gap:8px}.log-filters{gap:9px}.call-row{padding:16px 12px;gap:8px}.call-title{font-size:11px}.call-detail{padding:18px}.log-badge{font-size:9px;right:12px;bottom:10px}.call-detail dl{grid-template-columns:90px 1fr}}