:root{--bg:#f5f6f2;--surface:#fff;--ink:#20372e;--muted:#849087;--line:#e6ebe4;--green:#255742;--green-light:#edf4ed;--lime:#c6dc93;--gf:#537f52;--hpt:#bc955b;--ltf:#659ca5;--shadow:0 3px 15px #233d2a03}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button{transition:background .16s,transform .16s,box-shadow .16s}button:hover:not(:disabled){filter:brightness(.97)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8daf74;outline-offset:3px}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}
.sidebar{width:216px;position:fixed;inset:0 auto 0 0;background:#f9faf7;border-right:1px solid #e1e7de;padding:30px 17px 0;z-index:10;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:0 9px;font-size:22px;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:8px;letter-spacing:1.35px;color:#87937f;margin-top:5px;font-weight:500}.brand-mark{display:flex;align-items:center;font-size:25px;letter-spacing:-7px;color:#4e7446}.brand-mark i{font-size:24px;font-style:normal;transform:rotate(-23deg);margin:0 5px 0 0;color:#789857}.workspace-label{font-size:10px;letter-spacing:1px;color:#99a08f;margin:36px 14px 16px}.nav-item{width:100%;background:none;border:0;border-radius:7px;color:#748071;display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;margin:5px 0;font-size:12px}.nav-item>span:first-child{font-size:18px;font-weight:400;line-height:1}.nav-item.active{background:#eaf0e5;color:#31543c;font-weight:600}.nav-count{margin-left:auto;font-size:10px;background:#dce6d5;padding:2px 6px;border-radius:3px}.sidebar-section{margin:37px 13px 20px;font-size:10px;letter-spacing:1px;color:#939d8c;display:flex;justify-content:space-between}.sidebar-section>span{font-size:9px;color:#83917c}.species-nav{display:flex;align-items:center;gap:9px;margin:0 13px 23px;font-size:11px}.species-nav small{display:block;font-size:8px;color:#a3aa9d;margin-top:5px}.species-nav b{margin-left:auto;font-size:9px;font-weight:500;color:#97a28e}.dot{display:inline-block;height:7px;width:7px;flex-shrink:0;border-radius:50%}.gf{background:var(--gf)}.hpt{background:var(--hpt)}.ltf{background:var(--ltf)}.sidebar-bottom{margin-top:auto}.local-note{margin:28px 12px 18px;font-size:10px;color:#6e8065}.local-note small{display:block;font-size:9px;color:#a0a795;margin:8px 0 0 12px}.status-dot{display:inline-block;background:#81a565;width:6px;height:6px;border-radius:50%;margin-right:7px}.sidebar-user{border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:21px 8px;font-size:11px;margin-top:12px}.sidebar-user small{display:block;font-size:7px;letter-spacing:1px;color:#9aA38f;margin-top:5px}.avatar{display:grid;place-items:center;border-radius:50%;width:31px;height:31px;background:#e6ebdc;color:#758962;font-size:12px}
.app-shell{margin-left:216px}.topbar{height:66px;background:#fafbf8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.breadcrumb{color:#97a18f;font-size:10px}.breadcrumb span{margin:0 14px;color:#bac1b5}.breadcrumb strong{font-weight:500;color:#5d6f58}.header-right{display:flex;align-items:center;gap:20px}.connection-tag{color:#75856c;font-size:10px;display:flex;align-items:center;gap:7px}.connection-tag:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#a7ad95}.connection-tag.connected:before{background:#558457}.icon-button{border:1px solid #dce3d6;border-radius:50%;height:25px;width:25px;background:transparent;color:#849076;font-size:13px;display:grid;place-items:center;padding:0}
main{max-width:1680px;margin:auto;padding:34px 32px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#8b9a7b}h1{font-size:27px;font-weight:600;letter-spacing:1px;margin:10px 0 9px}.heading-dot{color:#86a36d;margin-left:4px}.page-heading p{font-size:11px;color:#88937e;margin:0;line-height:1.8}.heading-actions{display:flex;gap:10px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;padding:10px 15px;font-size:11px;font-weight:500;white-space:nowrap;border:1px solid transparent}.button.primary{color:#fff;background:#28533f;border-color:#28533f;box-shadow:0 3px 5px #24462f0b}.button.primary:hover{background:#1c4432}.button.secondary{background:#fafbf8;border-color:#dce4d5;color:#5a7050}.button>span{font-size:17px;font-weight:400;line-height:1}.notice{background:#eef2e7;border:1px solid #e2e9d7;border-radius:7px;display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:10px;color:#748263;line-height:1.65;margin-bottom:23px}.notice-icon{font-family:Georgia,serif;border:1px solid #99aa83;border-radius:50%;height:13px;width:13px;text-align:center;line-height:12px;flex-shrink:0}.notice button{background:none;border:0;margin-left:auto;color:#60794e;font-size:10px;white-space:nowrap}.notice.demo{background:#f5f0e3;border-color:#e8dfc7;color:#8e7954}.notice.error{background:#f8ede8;border-color:#e9d6cb;color:#a4684e}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.metric{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:17px 19px 14px;box-shadow:var(--shadow);min-width:0}.metric-label{display:flex;justify-content:space-between;align-items:center;color:#7e8977;font-size:10px}.metric-label>span{color:#9ea990;font-size:16px}.metric strong{display:block;font-size:29px;font-weight:500;letter-spacing:-.8px;margin:10px 0 7px;font-variant-numeric:tabular-nums}.metric strong small{font-size:10px;color:#9aa28f;letter-spacing:0;font-weight:400;margin-left:4px}.metric p{font-size:9px;color:#a2aa98;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.review-metric{background:#f2f4e9;border-color:#e2e8d3}.review-metric strong{color:#879756}.workbench-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:21px;align-items:start}.analysis-column{min-width:0}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 20px 16px}.panel-heading h2{font-size:13px;font-weight:600;margin:0;display:flex;align-items:center;gap:9px}.panel-heading p{font-size:9px;color:#9aa18f;margin:8px 0 0;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{font-size:8px;background:#eff3e9;color:#7e936a;font-weight:400;border-radius:4px;padding:3px 6px}.pill.demo{background:#f3ebd9;color:#9a8052}.segmented{display:flex;background:#f4f6f0;border:1px solid #e9ede2;padding:2px;border-radius:5px}.segmented button{font-size:9px;color:#95a087;border:0;background:none;padding:5px 10px;border-radius:3px}.segmented button.selected{color:#4d6842;background:#fff;box-shadow:0 1px 3px #182c1410}.audio-visual{position:relative;background:#193c30;margin:0 20px;border-radius:6px;padding:14px 14px 10px;color:#8fa98e;overflow:hidden}.visual-top{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px}.visual-top>span:first-child{display:flex;align-items:center}.visual-top .status-dot{height:4px;width:4px;background:#bbcd91}.visual-top>span:last-child{letter-spacing:.3px;color:#789a81}#audio-canvas{display:block;width:100%;height:155px;margin-top:8px;cursor:crosshair}.time-ruler{display:flex;justify-content:space-between;font-size:8px;font-family:Consolas,monospace;color:#7b9a82;padding-top:7px;border-top:1px solid #315343}.empty-chart{position:absolute;top:38px;left:10px;right:10px;bottom:35px;background:#193c30ef;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:9px}.empty-chart strong{font-size:12px;color:#d0dec0;font-weight:400}.empty-chart>span{font-size:9px;color:#8eaa91;line-height:1.8}.empty-sound{font-size:24px;letter-spacing:3px;color:#a8be86;line-height:1}.empty-chart button{font-size:9px;background:transparent;border:0;color:#bad096;padding:4px}.playback{display:flex;gap:10px;align-items:center;padding:15px 20px 19px}.play-button{width:28px;height:28px;border-radius:50%;background:#edf2e7;color:#4b7340;border:0;font-size:10px;padding-left:4px}.playback-clock{font-family:Consolas,monospace;font-size:9px;color:#a1aa97;font-variant-numeric:tabular-nums}.playback-clock b{font-weight:500;color:#64795a}.playback-hint{font-size:8px;color:#a7ad9e;margin-left:auto}.playback select{font-size:9px;background:#fff;color:#7b8b6a;border:1px solid #e8eddf;padding:4px;border-radius:4px}.analysis-state{font-size:11px;line-height:1.8;padding:13px 20px;background:#f6f8f0;color:#7b8d64;border-top:1px solid var(--line)}.analysis-state.error{background:#fff5f0;color:#a3654b}.spinner{display:inline-block;height:11px;width:11px;border:2px solid #bed0b4;border-top-color:#497344;border-radius:50%;animation:spin 1s linear infinite;margin-right:7px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}
.detection-panel{margin-top:20px}.count-badge{font-size:9px;background:#f0f3e9;color:#94a080;border-radius:4px;padding:3px 6px;font-weight:400}.text-button{border:0;background:none;color:#748960;font-size:10px;padding:4px 0;white-space:nowrap}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px 13px}.species-filters{display:flex;gap:5px}.species-filters button{display:flex;align-items:center;gap:5px;font-size:9px;border:1px solid #e6ebdf;background:#fff;color:#8c987e;padding:6px 9px;border-radius:4px;white-space:nowrap}.species-filters button .dot{width:5px;height:5px}.species-filters button.selected{border-color:#dae4cd;color:#4c6c3c;background:#eff4e8}.review-toggle{display:flex;align-items:center;gap:5px;font-size:9px;color:#96a085;white-space:nowrap}.review-toggle input{accent-color:#668150;width:11px;height:11px;margin:0}.threshold-bar{display:flex;align-items:center;gap:10px;padding:9px 20px;background:#fbfcf9;border-top:1px solid #f0f2ea;color:#9ba58e;font-size:8px}.threshold-bar label{white-space:nowrap}.threshold-bar b{font-family:Consolas,monospace;font-weight:400;color:#6c8258;margin-left:5px}.threshold-bar input{accent-color:#7f9d62;width:100px;height:3px;cursor:pointer;margin:0}.threshold-bar>span{margin-left:auto;font-size:8px}.table-wrapper{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:10px;text-align:left}th{font-size:9px;font-weight:400;color:#99a38e;padding:12px 10px;background:#f8faf5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}th:first-child,td:first-child{padding-left:20px}th:last-child,td:last-child{padding-right:20px}.right{text-align:right}td{padding:13px 10px;border-bottom:1px solid #f0f2eb;color:#728168}tr.selected-row{background:#f7faef}tr:hover td{background:#f8faf5}.time-button{font-family:Consolas,monospace;color:#708160;font-size:9px;background:none;border:0;padding:0}.species-label{display:inline-flex;align-items:center;gap:5px;font-size:9px}.species-label .dot{width:5px;height:5px}.species-label+.species-label{margin-left:6px}.score-value{font-family:Consolas,monospace;font-size:10px;color:#6f805b}.score-track{height:3px;background:#edf1e5;width:38px;display:inline-block;border-radius:2px;margin-left:7px;vertical-align:middle;overflow:hidden}.score-track>i{display:block;background:#a7be86;height:100%}.review-status{font-size:8px;color:#b49c6b;background:#f8f4e9;border-radius:3px;padding:3px 5px}.review-status.done{color:#718e5c;background:#eff5e7}.review-status.neutral{color:#9ba58f;background:#f4f6ef}.row-actions{display:flex;gap:9px;justify-content:flex-end;align-items:center}.row-actions button{border:0;background:none;padding:0;font-size:9px;color:#7c9463}.row-actions a{font-size:11px;color:#9caa8d}.table-empty{padding:37px 20px;text-align:center}.table-empty>span{display:block;font-size:28px;color:#b9c5aa;margin-bottom:8px}.table-empty strong{font-size:11px;color:#8c9a7c;font-weight:400}.table-empty p{font-size:9px;color:#b0b8a4;line-height:1.8}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;color:#a2ab96;font-size:9px}.table-footer>div{display:flex;align-items:center;gap:12px}.pagination{border:1px solid #e5eadc;border-radius:4px;color:#8fa078;background:#fff;width:23px;height:23px;font-size:14px;padding:0}.interpretation-note{display:flex;gap:8px;margin:14px 2px;color:#a1aa92;font-size:8px;line-height:1.8}.interpretation-note>span{font-size:11px}.interpretation-note p{margin:0}
.assistant-panel{display:flex;flex-direction:column;min-height:678px;position:sticky;top:20px}.assistant-heading{padding:19px 17px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#f8fbf4,#fff)}.assistant-symbol{font-size:22px;color:#718f54;background:#eef4e4;border:1px solid #e4ebda;border-radius:8px;width:34px;height:34px;display:grid;place-items:center}.assistant-heading h2{font-size:12px;font-weight:600;margin:0}.assistant-heading p{font-size:8px;color:#9ca68e;margin:6px 0 0}.assistant-heading>.status-dot{margin-left:auto;margin-right:0;width:5px;height:5px}.chat-messages{padding:26px 17px 10px;flex:1;min-height:365px;max-height:600px;overflow:auto}.intro-label{font-size:8px;letter-spacing:1px;color:#a0ae8b}.assistant-intro h3{font-size:22px;font-weight:400;line-height:1.65;letter-spacing:.5px;margin:13px 0 13px;color:#526a41}.assistant-intro p{font-size:10px;color:#9ba78c;line-height:1.95;margin:0}.suggestion-list{margin-top:24px;display:flex;flex-direction:column;gap:9px}.suggestion-list button{display:flex;align-items:center;gap:9px;text-align:left;background:#fafbf7;border:1px solid #e7eddc;border-radius:6px;padding:11px 9px;color:#889a73;font-size:9px}.suggestion-list button>span:first-child{font-size:13px;color:#9aad85}.suggestion-list button>span:last-child{margin-left:auto;color:#aebc9b}.chat-composer{padding:15px 15px 12px;border-top:1px solid #eef1e7}.chat-context{font-size:8px;color:#9ba68c;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-context .status-dot{width:4px;height:4px}#chat-form{border:1px solid #e0e8d5;border-radius:7px;padding:10px;background:#fcfdf9}#chat-form:focus-within{border-color:#9db786;box-shadow:0 0 0 2px #ecf2e5}#chat-input{resize:vertical;width:100%;border:0;background:none;outline:none;font-size:10px;color:#60734e;line-height:1.8;min-height:43px;max-height:140px}#chat-input::placeholder{color:#b0bba1}.composer-bottom{display:flex;align-items:center;justify-content:space-between}.composer-bottom small{font-size:7px;color:#b3bea4}.composer-bottom button{border:0;background:#dce8ca;color:#607c46;border-radius:5px;font-size:18px;width:27px;height:26px}.assistant-footnote{text-align:center;font-size:7px;color:#b9c1ad;margin-top:10px}.chat-message{margin:0 0 17px;animation:appear .2s ease}.chat-message .message-role{font-size:8px;color:#9bac86;margin-bottom:6px}.chat-message .message-body{font-size:11px;color:#6e805b;white-space:pre-wrap;line-height:1.95;padding:11px;background:#f6f9f0;border:1px solid #eaf0e0;border-radius:7px}.chat-message.user .message-body{background:#eaf1e1;color:#617c46;border-color:#e0e9d3}.chat-message.user .message-role{text-align:right}.tool-trace{font-size:8px;color:#9aa98b;margin-top:7px;padding:5px 0;display:flex;flex-direction:column;gap:4px}.tool-trace span:before{content:"✓";color:#8aa56a;margin-right:5px}.chat-download{display:inline-block;font-size:9px;color:#67804e;border:1px solid #dfe8d3;background:#fff;border-radius:4px;padding:6px 8px;margin:8px 6px 0 0}.page-footer{display:flex;justify-content:space-between;gap:20px;color:#b2baA5;font-size:8px;margin-top:26px;padding:14px 0 0;border-top:1px solid #e8ecE1}.page-footer i{font-style:normal;margin:0 7px;color:#c6cdbc}.page-footer>span:last-child{letter-spacing:1px;font-size:7px}
dialog{border:1px solid #dfe6d8;border-radius:14px;padding:27px;width:min(530px,calc(100vw - 30px));color:var(--ink);box-shadow:0 20px 100px #14291b33;max-height:90vh;overflow:auto}dialog::backdrop{background:#10291f60;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.dialog-heading h2{font-size:20px;font-weight:500;margin:8px 0 0}.dialog-heading .icon-button{font-size:19px}.dropzone{position:relative;background:#f6f9f0;border:1px dashed #b9cca1;min-height:155px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-radius:9px;text-align:center;cursor:pointer;padding:20px}.dropzone.dragging{background:#e7f0db;border-color:#688b4a}.dropzone input{position:absolute;width:100%;height:100%;opacity:0;inset:0;cursor:pointer}.dropzone strong{font-size:12px;font-weight:500;max-width:100%;overflow-wrap:anywhere}.dropzone small{font-size:10px;color:#96a385}.upload-symbol{font-size:27px;color:#8fa970}.field-label{display:block;font-size:11px;color:#7b8d6b;margin-top:20px}.field-label>input,.field-label>textarea{display:block;width:100%;border:1px solid #e0e7d6;border-radius:5px;padding:11px;margin-top:9px;background:#fdfefb;color:#526746;font-size:12px}.field-label>textarea{resize:vertical;min-height:75px}.form-note{color:#a1ac94;font-size:10px;line-height:1.9;margin:16px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.form-error{font-size:11px;color:#ab674b;background:#fff3ec;padding:10px;line-height:1.7;border-radius:5px}.review-options{display:flex;gap:15px;font-size:11px;color:#688355;margin:16px 0}.review-options input{accent-color:#68874d}.review-scores{font-size:10px;color:#8d9d7a;line-height:2;margin-bottom:15px}.guide-content h3{font-size:13px;font-weight:500;color:#597246;margin-top:23px}.guide-content p{font-size:11px;line-height:1.95;color:#8c9a7d}.guide-content code{font-size:10px;background:#edf2e5;padding:2px 4px;overflow-wrap:anywhere}.guide-demo{padding:14px;background:#f7f2e5;color:#a18b5c;font-size:11px;line-height:1.9;border-radius:6px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;background:#234b36;color:#ecf3e6;border-radius:7px;box-shadow:0 7px 30px #16371f30;padding:13px 20px;font-size:12px;max-width:85vw;line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.section-heading h2{font-weight:500;font-size:17px}.history-list{display:flex;flex-direction:column;gap:12px;min-height:450px}.history-card{display:flex;align-items:center;gap:15px;padding:20px;background:white;border:1px solid var(--line);border-radius:8px;width:100%;text-align:left;color:#5d7450}.history-card .history-icon{font-size:24px;color:#99ac82;background:#f0f5e8;padding:10px;border-radius:7px}.history-card strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.history-card p{font-size:10px;color:#9aa68d;margin:8px 0 0}.history-card .history-arrow{margin-left:auto;color:#9daf86;font-size:18px}.report-cover{background:#fff;border:1px solid var(--line);border-radius:10px;padding:45px;min-height:460px}.report-cover h2{font-size:28px;font-weight:400;margin:24px 0 15px}.report-cover p{font-size:12px;color:#90a080;line-height:1.9}.report-summary{font-size:12px;line-height:2;margin:30px 0;color:#6b815a;border-top:1px solid var(--line);padding-top:20px;white-space:pre-wrap}.report-cover small{display:block;color:#a6b097;font-size:10px;margin-top:18px}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){main{padding:40px 42px}.workbench-grid{grid-template-columns:minmax(0,1fr) 350px}.metric{padding:22px}.assistant-panel{min-height:715px}#audio-canvas{height:185px}.chat-messages{min-height:400px}}
@media(max-width:1200px){.sidebar{width:185px;padding-left:12px;padding-right:12px}.app-shell{margin-left:185px}.brand{font-size:20px;gap:7px}.brand small{font-size:7px}.brand-mark{font-size:21px}.topbar{padding:0 24px}main{padding:28px 22px}.workbench-grid{grid-template-columns:minmax(0,1fr) 285px;gap:15px}.panel-heading,.filter-bar{padding-left:15px;padding-right:15px}.audio-visual{margin:0 15px}.filter-bar{flex-wrap:wrap}.species-filters button{padding:6px}.metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:26px}h1{font-size:24px}.playback-hint{display:none}.panel-heading p{max-width:270px}.threshold-bar>span{display:none}.assistant-intro h3{font-size:21px}.page-heading{gap:10px}.button{padding:9px 12px}}
@media(max-width:1020px){.sidebar{width:170px}.app-shell{margin-left:170px}.brand{font-size:18px;padding:0 4px}.brand small{letter-spacing:.5px}.brand-mark{font-size:19px}.workbench-grid{grid-template-columns:minmax(0,1fr)}.assistant-panel{position:static;min-height:470px}.chat-messages{min-height:200px;max-height:400px}.assistant-intro h3{font-size:20px}.assistant-intro h3 br{display:none}.suggestion-list{display:grid;grid-template-columns:1fr 1fr;margin-top:18px}.metrics{grid-template-columns:repeat(2,1fr)}.page-heading{flex-wrap:wrap}.heading-actions{margin-top:5px}.panel-heading p{max-width:none}.threshold-bar>span{display:block}.playback-hint{display:block}.nav-item{padding-left:10px}.species-nav{margin-left:10px;margin-right:4px}.sidebar-section{margin-left:10px}.local-note{margin-left:10px}.sidebar-user{padding-left:2px}.sidebar-user small{font-size:6px}}
@media(max-width:600px){.sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center;padding:14px 16px;border-right:0;border-bottom:1px solid var(--line);gap:12px}.brand{font-size:20px;flex-shrink:0}.brand small{font-size:6px}.brand-mark{display:none}.workspace-label,.sidebar-section,.species-nav,.sidebar-bottom{display:none}.sidebar nav{display:flex;margin-left:auto;gap:5px}.nav-item{padding:8px;margin:0;font-size:10px;gap:4px;white-space:nowrap}.nav-item>span:first-child,.nav-count{display:none}.app-shell{margin-left:0}.topbar{height:45px;padding:0 17px}.header-right{gap:10px}.breadcrumb{font-size:9px}.connection-tag{font-size:8px}main{padding:25px 15px 15px}.eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:23px}.page-heading p{font-size:10px}.page-heading{margin-bottom:18px}.heading-actions{width:100%;margin-top:5px}.heading-actions button{flex:1}.notice{font-size:9px;padding:10px;align-items:flex-start}.notice button{font-size:8px}.metrics{gap:9px;margin-bottom:16px}.metric{padding:14px 13px}.metric-label{font-size:9px}.metric strong{font-size:25px}.metric p{font-size:8px}.metric strong small{font-size:9px}.panel-heading{padding:16px 13px 14px}.panel-heading p{font-size:8px;max-width:230px}.panel-heading h2{font-size:12px}.audio-visual{margin:0 12px}#audio-canvas{height:145px}.playback{padding:13px}.playback-hint{display:none}.playback select{margin-left:auto}.filter-bar{padding:0 12px 12px;gap:12px}.species-filters{gap:4px}.species-filters button{font-size:8px;padding:6px}.review-toggle{font-size:8px}.threshold-bar{padding:10px 12px}.threshold-bar>span{font-size:7px}.threshold-bar input{width:75px}th,td{padding-left:8px;padding-right:8px;font-size:9px}th:first-child,td:first-child{padding-left:13px}th:last-child,td:last-child{padding-right:13px}.score-track{display:none}.table-footer{padding:12px 13px}.suggestion-list{grid-template-columns:1fr}.assistant-panel{min-height:450px}.assistant-intro h3{font-size:20px}.assistant-intro h3 br{display:block}.page-footer>span:last-child{display:none}.report-cover{padding:25px}.report-cover h2{font-size:23px}.history-card{padding:15px;gap:10px}.history-card .history-icon{padding:7px}.section-heading{align-items:flex-start}.section-heading>.muted{font-size:9px}.review-options{gap:10px;font-size:10px}.review-options label{display:flex;align-items:center;gap:2px}}
/* Keep the working data readable, including when the app is shown beside a chat. */
.page-heading p{font-size:12px}.notice{font-size:11px}.notice button{font-size:11px}.metric-label{font-size:12px}.metric p{font-size:10px}.metric strong small{font-size:11px}.panel-heading h2{font-size:15px}.panel-heading p{font-size:11px}.segmented button{font-size:11px}.text-button{font-size:11px}.species-filters button{font-size:11px}.review-toggle{font-size:10px}.threshold-bar{font-size:10px}.threshold-bar>span{font-size:9px}table{font-size:11px}th{font-size:10px}.time-button,.species-label,.score-value{font-size:11px}.review-status{font-size:10px}.row-actions button{font-size:11px}.table-footer{font-size:10px}.assistant-heading h2{font-size:14px}.assistant-heading p{font-size:10px}.chat-message .message-body{font-size:12px}.chat-message .message-role{font-size:10px}.tool-trace{font-size:10px}.chat-context{font-size:10px}#chat-input{font-size:12px}.composer-bottom small{font-size:9px}.assistant-footnote{font-size:9px}.assistant-intro p{font-size:12px}.suggestion-list button{font-size:11px}.interpretation-note{font-size:10px}.playback-clock{font-size:11px}.playback-hint{font-size:9px}.empty-chart>span{font-size:11px}.empty-chart strong{font-size:14px}.empty-chart button{font-size:11px}.table-empty strong{font-size:12px}.table-empty p{font-size:11px}
@media(max-width:600px){.page-heading p{font-size:11px}.notice{font-size:10px}.notice button{font-size:9px}.metric-label{font-size:11px}.metric p{font-size:9px}.panel-heading h2{font-size:13px}.panel-heading p{font-size:10px}.species-filters button{font-size:10px}.threshold-bar>span{display:none}.time-button,.species-label,.score-value{font-size:10px}.review-status{font-size:9px}.panel-heading p{max-width:220px}.notice{align-items:center}.notice button{white-space:normal;min-width:50px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Monitoring extensions */
.extension-panel{padding:22px;margin-top:22px;min-width:0}.extension-form{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:10px 0 18px}.extension-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#6c786f}.extension-form input,.extension-form select,#indices-trend select{padding:10px;border:1px solid #dce4db;border-radius:7px;background:#fff;color:#284a39;max-width:100%;font:inherit}.extension-form label:has(input[type=checkbox]){flex-direction:row;align-items:center;padding-bottom:12px}.extension-note{font-size:12px;line-height:1.9;color:#7a837b;margin-top:14px}.index-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.index-card{background:#f5f7f1;border:1px solid #e5e9df;border-radius:9px;padding:14px}.index-card small{display:block;font-size:10px;color:#7c877c}.index-card strong{display:block;font-size:23px;color:#315740;margin-top:8px}.activity-chart{display:block;width:100%;height:230px;margin-top:18px}.chart-legend{display:flex;gap:22px;font-size:12px;margin-top:20px}.chart-legend span:nth-child(1){color:#4e8761}.chart-legend span:nth-child(2){color:#ce9b49}.chart-legend span:nth-child(3){color:#658ab2}#analytics-view .panel{margin-top:0}@media(max-width:700px){.index-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.extension-panel{padding:14px}.chart-legend{gap:10px;font-size:10px}}
.agent-controls{display:flex;flex-direction:column;gap:7px;padding:10px 0 13px;border-bottom:1px solid var(--line);margin-bottom:10px}.agent-controls label{font-size:10px;color:#6b7b64;display:flex;align-items:center;justify-content:space-between;gap:8px}.agent-controls select{max-width:210px;padding:6px;background:#f7f9f3;border:1px solid #dce5d6;border-radius:5px;color:#456438;font-size:10px}.agent-controls small{font-size:9px;line-height:1.7;color:#8a987f}.usage-note{font-size:9px;line-height:1.8;color:#8d997e;margin-top:8px}.chat-evidence{display:block;margin-top:7px;border:1px solid #dae5d0;background:#f3f7ed;border-radius:5px;color:#547244;padding:7px 8px;text-align:left;font-size:10px;line-height:1.6;max-width:100%}
.chat-statistics{background:#f2f6ee;border:1px solid #e0e8d8;padding:10px;border-radius:6px;line-height:1.8;margin-top:10px;font-size:10px}.chat-statistics strong{font-size:10px}.chat-statistics small{display:block;color:#708365;margin-left:8px}.chat-statistics .text-button{margin-top:6px}
/* Rainforest field-station visual system — local, no external assets. */
:root{--bg:#f1f4ef;--surface:#fff;--ink:#173e32;--muted:#75867b;--line:#e2e9e1;--green:#1b6b4b;--green-light:#e8f4ec;--lime:#c8e8a0;--gf:#439d71;--hpt:#c49446;--ltf:#5d98aa;--shadow:0 5px 22px #183a2606}
body{background:radial-gradient(ellipse at 85% 5%,#e3ebdf 0,transparent 45%),var(--bg);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
.sidebar{width:216px;padding:29px 16px 0;background:linear-gradient(165deg,#153c30 0%,#102e26 70%,#102c25 100%);border:0;color:#e4eee4;box-shadow:4px 0 22px #18352b09}
.brand{font-size:23px;letter-spacing:1.5px;padding:0 6px;color:#f0f6ec;gap:10px}.brand small{font-size:7px;letter-spacing:2px;color:#91b19d;margin-top:7px}.brand-mark{display:grid;place-items:center;width:38px;height:42px;letter-spacing:0;color:#c7e7a0}.brand-mark svg{width:38px;height:38px}.workspace-label{font-size:9px;color:#7da28d;letter-spacing:1.5px;margin:34px 12px 17px}
.nav-item{font-size:12px;color:#a1bdac;border-radius:9px;padding:13px 13px;margin:6px 0;gap:12px;transition:background .18s,color .18s,transform .18s}.nav-item:hover{background:#ffffff09;color:#fff;transform:translateX(2px)}.nav-item.active{background:#cce7a5;color:#173a2b;box-shadow:0 5px 18px #0000000d;font-weight:600}.nav-item>span:first-child{font-size:20px}.nav-count{background:#ffffff12;color:#a2bfaa;font-size:10px;padding:3px 6px}.nav-item.active .nav-count{background:#1c4a3120;color:#244b33}
.sidebar-section{color:#6e9782;font-size:10px;margin:34px 12px 22px;letter-spacing:1px}.sidebar-section>span{color:#9bbea0;background:#ffffff09;border:1px solid #ffffff0b;border-radius:4px;padding:1px 5px}.species-nav{color:#d7e5d7;font-size:12px;margin:0 12px 23px;gap:11px}.species-nav small{font-size:8px;color:#7fa18a;line-height:1.5}.species-nav b{font-size:9px;color:#8eb09b}.species-nav .dot{box-shadow:0 0 0 4px #ffffff05}.local-note{color:#b5cbb8;font-size:10px;margin-left:12px}.local-note small{color:#6f9780;font-size:9px}.status-dot{background:#83c59a;box-shadow:0 0 0 3px #83c59a13}.sidebar-user{border-top:1px solid #ffffff0d;color:#d0e1d0;padding:19px 7px}.sidebar-user small{color:#648c76;font-size:7px}.avatar{background:#244c3a;color:#c4e6a5;border:1px solid #85b68b25}
.app-shell{margin-left:216px}.topbar{height:66px;background:#fcfdfad9;border-bottom:1px solid #e0e8df;padding:0 30px;backdrop-filter:blur(12px)}.breadcrumb{font-size:11px;color:#8b9a8d}.breadcrumb strong{color:#416552}.connection-tag{background:#e9f2e7;border:1px solid #dce9d8;color:#507443;padding:7px 11px;border-radius:20px;font-size:10px}.connection-tag:before{width:6px;height:6px}.icon-button{width:29px;height:29px;color:#698265;border-color:#d9e4d5;background:#fff}
main{padding:27px 28px 24px;max-width:1720px}.page-heading{position:relative;isolation:isolate;overflow:hidden;min-height:206px;border-radius:16px;background:linear-gradient(110deg,#163e30 0%,#1e4c39 64%,#2b5b42 100%);border:1px solid #24513b;box-shadow:0 12px 26px #173a2a12;padding:28px 30px;gap:18px;margin-bottom:18px}.page-heading:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 60% 130%,#95ba6b30,transparent 65%);pointer-events:none}.page-heading>div{position:relative;z-index:1}.hero-art{position:absolute;right:0;top:0;height:100%;width:52%;z-index:-1;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2.2px;color:#82a177}.page-heading .eyebrow{color:#b4cf9c;letter-spacing:2px;font-weight:500}.page-heading h1{font-size:clamp(26px,2.5vw,36px);font-weight:600;color:#f0f6e9;letter-spacing:1.2px;margin:14px 0 10px;line-height:1.3}.page-heading p{color:#aac2ad;font-size:12px;line-height:1.9;max-width:560px}.heading-dot{color:#cbe6a1}.hero-workflow{display:flex;align-items:center;gap:12px;margin-top:23px;font-size:10px;color:#b9d0b4;letter-spacing:.5px}.hero-workflow b{font-family:Consolas,monospace;font-size:9px;font-weight:400;color:#cbe5a1;margin-right:6px}.hero-workflow i{font-style:normal;color:#5c8364;font-size:12px}.page-heading .heading-actions{align-self:flex-end;margin:0;flex-shrink:0;padding-bottom:2px;gap:9px}.button{border-radius:8px;padding:11px 16px;font-size:12px;font-weight:500;transition:box-shadow .18s,background .18s,transform .18s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:#236f4e;border-color:#236f4e;box-shadow:0 4px 10px #245d3e13;color:#fff}.button.primary:hover{background:#185a3c}.button.secondary{background:#fff;border-color:#dae5d8;color:#456b4d}.page-heading .button.primary{background:#cde7a4;color:#213f2b;border-color:#cde7a4;box-shadow:0 4px 16px #101f1622}.page-heading .button.primary:hover{background:#d9eeb7}.page-heading .button.secondary{border-color:#84a28b55;background:#ffffff08;color:#d4e6d0}.page-heading .button.secondary:hover{background:#ffffff12}
.notice{background:#e8efe3;border:1px solid #dae6d3;border-radius:9px;padding:10px 14px;margin-bottom:20px;color:#607752;font-size:11px;line-height:1.7}.notice button{font-size:10px;color:#4d7045}.notice-icon{border:0;background:#d7e5cb;color:#638053;font-size:11px;width:18px;height:18px;line-height:18px}.notice.demo{background:#faf2df;color:#98763e;border-color:#eadfc3}.notice.error{background:#fcf0e9;color:#aa6547;border-color:#efd8ca}
.metrics{gap:14px;margin-bottom:21px}.metric{position:relative;overflow:hidden;border-radius:12px;border:1px solid #dfe8dc;padding:18px 18px 16px;background:linear-gradient(130deg,#fff 55%,#f6f9f2);box-shadow:0 3px 15px #183a2604;transition:transform .2s,box-shadow .2s}.metric:hover{transform:translateY(-2px);box-shadow:0 8px 20px #183a260b}.metric:before{content:"";position:absolute;top:17px;left:0;width:3px;height:21px;border-radius:0 3px 3px 0;background:#659b77}.metric:nth-child(2):before{background:#6d9c85}.metric:nth-child(3):before{background:#6b9caa}.metric:nth-child(4):before{background:#c29b54}.metric-label{font-size:11px;color:#6b806c;gap:8px}.metric-label>span{display:grid;place-items:center;background:#edf4e8;border:1px solid #e2ecda;width:28px;height:28px;border-radius:8px;color:#718e5d;font-size:16px;flex-shrink:0}.metric:nth-child(3) .metric-label>span{background:#edf5f6;color:#6e98a3;border-color:#dcebee}.metric:nth-child(4) .metric-label>span{background:#faf0da;color:#b28b45;border-color:#f0e3c3}.metric strong{font-family:"Segoe UI",system-ui,sans-serif;font-size:35px;font-weight:600;color:#254d36;letter-spacing:-1px;margin:8px 0 6px;line-height:1.2}.metric strong small{font-family:"Microsoft YaHei",system-ui;font-size:10px;color:#8c9d86;font-weight:400;margin-left:6px;letter-spacing:0}.metric p{font-size:10px;color:#8c9b86}.review-metric{background:linear-gradient(135deg,#fcfaf2,#f7f2e4);border-color:#e9dfc7}.review-metric strong{color:#a27e3e}
.workbench-grid{grid-template-columns:minmax(0,1fr) 326px;gap:20px}.panel{border-radius:13px;border-color:#e0e8dd;box-shadow:var(--shadow)}.panel-heading{padding:21px 20px 17px;gap:12px}.panel-heading h2{font-size:15px;color:#2b5038;letter-spacing:.2px}.panel-heading p{font-size:11px;color:#87977f;line-height:1.7}.pill{border:1px solid #dcead4;border-radius:20px;background:#eef7e8;color:#6b9256;padding:3px 8px;font-size:9px}.pill.demo{background:#fff3dd;border-color:#f2e1bd;color:#a68141}.segmented{border-color:#e0e8db;background:#f3f6ee;border-radius:7px;padding:3px;flex-shrink:0}.segmented button{padding:6px 10px;border-radius:5px;font-size:10px}.segmented button.selected{color:#3d6944;background:#fff;box-shadow:0 2px 5px #274b2810}
.audio-visual{background:linear-gradient(135deg,#123a2e,#183c2f 70%,#254a32);margin:0 20px;border:1px solid #284f39;border-radius:9px;padding:16px 15px 11px;box-shadow:inset 0 1px 16px #00000010}.visual-top{font-size:8px;color:#a1c197;letter-spacing:1.2px}.visual-top>span:last-child{color:#7e9e7e;font-size:8px}#audio-canvas{height:177px;margin-top:13px}.time-ruler{border-color:#42634166;color:#84a17f;font-size:9px;padding-top:10px}.empty-chart{background:#153d2ff2}.empty-chart strong{color:#e3efcc}.empty-chart>span{color:#99b594}.empty-sound{color:#abd18e}.playback{padding:16px 20px 19px;gap:10px}.play-button{height:32px;width:32px;background:#e6f1dd;border:1px solid #dceace;color:#537d3f;transition:box-shadow .18s}.play-button:hover{box-shadow:0 0 0 4px #e7f0dd88}.playback-clock{font-size:11px}.playback-clock b{color:#517346}.playback-hint{font-size:9px;color:#94a28b}.playback select{font-size:10px;border-color:#e1e9d9;border-radius:5px;background:#f9fbf6}.text-button{font-size:11px;color:#54814d}.text-button:hover{color:#245e35}
.detection-panel{margin-top:20px}.count-badge{background:#eaf2e2;border:1px solid #dde9d2;border-radius:5px;color:#7b965f;font-size:10px;padding:2px 6px}.filter-bar{padding-bottom:15px;flex-wrap:wrap;gap:12px}.species-filters{gap:5px}.species-filters button{background:#fff;border-color:#e0e7da;font-size:10px;color:#788b6e;padding:7px 9px;border-radius:6px}.species-filters button.selected{background:#eaf3df;border-color:#cfe0ba;color:#567b3c;box-shadow:0 1px 2px #2b43100a}.review-toggle{font-size:10px;color:#7d906f}.review-toggle input{accent-color:#558240;width:12px;height:12px}.threshold-bar{padding:11px 20px;background:#f7f9f2;border-color:#e8eee0;color:#819374;font-size:10px;gap:10px}.threshold-bar b{color:#66854d;font-size:11px}.threshold-bar input{accent-color:#7fa154}.threshold-bar>span{color:#9aa58e;font-size:9px}table{font-size:11px}th{font-size:10px;font-weight:500;color:#849379;background:#f4f7ee;border-top-color:#e7ecdf;border-bottom-color:#e3ead9;padding-top:13px;padding-bottom:13px}td{color:#68815a;border-bottom-color:#edf1e7;padding-top:15px;padding-bottom:15px}tr:hover td{background:#f3f8ec}.time-button,.species-label,.score-value{font-size:11px}.time-button{color:#55784b}.species-label{color:#4d7943}.score-track{background:#ebf0e2;width:32px}.score-track>i{background:#8eb170}.score-value{color:#537d3c}.review-status{font-size:9px;color:#9e834c;background:#faf2dd;border:1px solid #f0e5c6;border-radius:4px}.review-status.neutral{color:#8c9b7d;background:#f3f6ee;border-color:#e6ecdd}.review-status.done{background:#eaf4e2;color:#628849;border-color:#d9e9ca}.row-actions button{font-size:10px;color:#6c8d52}.table-footer{padding:13px 20px;font-size:10px;color:#8d9c80}.pagination{width:25px;height:25px;border-color:#dfe7d5;background:#fbfcf8;color:#688353}.interpretation-note{font-size:10px;line-height:1.9;color:#8b9c80;margin:14px 3px}
.assistant-panel{border:1px solid #dbe7d5;box-shadow:0 5px 25px #2b51250a;min-height:710px;background:linear-gradient(180deg,#fff,#fcfdf9);position:sticky;top:18px}.assistant-heading{padding:20px 17px;background:linear-gradient(120deg,#edf5e6,#f9fcf5);border-bottom-color:#e1ead6;gap:10px}.assistant-symbol{background:#deedce;color:#6e9350;border:1px solid #d1e2bf;border-radius:10px;width:37px;height:37px}.assistant-symbol svg{width:24px;height:24px}.assistant-heading h2{font-size:14px;color:#426938}.assistant-heading p{font-size:9px;color:#8a9e79;letter-spacing:.2px}.assistant-heading>.status-dot{box-shadow:0 0 0 4px #b4cd9925;background:#87aa68}.chat-messages{padding:22px 16px 12px;max-height:560px;min-height:315px}.intro-label{font-size:8px;color:#95a780;letter-spacing:1.5px}.assistant-intro h3{font-size:24px;color:#496e39;font-weight:500;letter-spacing:1px;line-height:1.6}.assistant-intro p{color:#8b9d7d;font-size:11px;line-height:1.9}.suggestion-list{gap:8px;margin-top:22px}.suggestion-list button{font-size:10px;line-height:1.7;padding:11px;border:1px solid #e1eacf;background:#f7faf2;border-radius:7px;color:#6f885a;transition:background .18s,transform .18s}.suggestion-list button:hover{background:#eaf3dd;border-color:#ccdcb7;transform:translateX(2px)}.suggestion-list button:first-child{background:#edf5e3;border-color:#d6e5c2;color:#5d7d42}.chat-composer{background:#fbfcf8;border-top:1px solid #e5ecd9;padding:13px 15px}.chat-message .message-role{color:#80966d;font-size:10px}.chat-message .message-body{background:#f3f8ec;border-color:#e1ebd4;color:#567145;font-size:12px;line-height:1.95;border-radius:9px}.chat-message.user .message-body{background:#e4efd7;border-color:#d6e5c3;color:#4c7038}.tool-trace{font-size:10px;line-height:1.7;color:#7c9464}.chat-download{font-size:10px;border-radius:6px;border-color:#d5e2c4;background:#fff;color:#5d7f42;padding:7px 9px}.chat-download:hover{background:#eaf3df}.chat-context{font-size:9px;color:#8b9c7b}#chat-form{border-color:#dbe6ce;background:#fff;border-radius:8px}#chat-form:focus-within{border-color:#91b270;box-shadow:0 0 0 3px #eef4e6}#chat-input{font-size:12px;color:#587447;line-height:1.8}.composer-bottom small{font-size:8px;color:#a2b094}.composer-bottom button{background:#6f9353;color:#fff;border-radius:6px;width:29px;height:27px}.assistant-footnote{font-size:8px;color:#9eae8d;margin-top:9px}.agent-controls{border-color:#e5ecd9;gap:6px;padding-bottom:11px}.agent-controls label{font-size:10px;color:#738a5f}.agent-controls select{border-color:#dce6cf;background:#f4f8ed;font-size:10px;border-radius:6px;padding:7px;color:#5a7a42;max-width:205px}.agent-controls small{font-size:9px;color:#9aaa8a;line-height:1.7}.usage-note{color:#88a06e;font-size:9px}.chat-evidence{background:#f2f7e9;border-color:#dbe7cb;color:#5d7f43;font-size:10px;border-radius:6px;padding:8px 9px}.chat-statistics{background:#edf5e3;border-color:#d6e5c2;padding:11px;border-radius:8px;color:#587b3d;font-size:11px}.chat-statistics strong{font-size:10px}.chat-statistics small{font-size:10px;color:#7b9466}
.extension-panel{padding:20px;margin-top:20px}.extension-panel>.panel-heading{padding:2px 0 17px}.extension-form{gap:13px;padding-bottom:19px}.extension-form label{font-size:11px;color:#788e6c}.extension-form input,.extension-form select,#indices-trend select{border-color:#dde7d4;background:#fbfdf8;color:#527345;font-size:11px;padding:10px;border-radius:7px}.extension-form input:focus,.extension-form select:focus{outline:2px solid #b7cf9c55;outline-offset:1px;border-color:#9bb87f}.extension-note{font-size:10px;line-height:1.9;color:#8e9e80}.index-cards{gap:10px}.index-card{position:relative;background:linear-gradient(125deg,#f8fbf4,#f1f7e9);border:1px solid #e0e9d5;border-radius:9px;padding:15px 13px;overflow:hidden}.index-card:after{content:"";position:absolute;width:48px;height:48px;border-radius:50%;background:#dfeccf66;right:-20px;bottom:-20px}.index-card small{font-size:9px;color:#8a9d77;line-height:1.6}.index-card strong{font-family:"Segoe UI",system-ui,sans-serif;font-size:27px;font-weight:500;color:#648748;letter-spacing:-.6px;margin-top:9px}.index-card:nth-child(3n+2){background:linear-gradient(125deg,#faf8ef,#f6f0df);border-color:#ebe1c9}.index-card:nth-child(3n+2) strong{color:#a18746}.index-card:nth-child(3n){background:linear-gradient(125deg,#f2f8f7,#eaf3f2);border-color:#dce9e6}.index-card:nth-child(3n) strong{color:#628f8b}.activity-chart{height:230px;margin-top:20px}.chart-legend{font-size:11px;margin-top:20px}.history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;min-height:450px}.history-card{padding:20px;border-color:#dfe7d8;border-radius:12px;gap:13px;box-shadow:var(--shadow);transition:transform .18s,border-color .18s,box-shadow .18s}.history-card:hover{transform:translateY(-3px);border-color:#bdd1aa;box-shadow:0 9px 22px #264c2010}.history-card>div{min-width:0}.history-card strong{font-size:12px;color:#4c6e3f;line-height:1.8}.history-card p{font-size:10px;line-height:1.9;color:#94a284}.history-card .history-icon{font-size:26px;border-radius:10px;padding:11px;background:#edf4e3;color:#8eaf6d}.section-heading h2{font-size:18px;color:#42643a}.section-heading>.muted{font-size:11px}.report-cover{border-radius:14px;padding:38px;background:radial-gradient(ellipse at 100% 0,#e9f2dc55,transparent 65%),#fff;border-color:#dfe7d8;box-shadow:var(--shadow)}.report-cover h2{font-size:29px;color:#496f3c;line-height:1.5;font-weight:500}.report-cover p{font-size:12px;color:#8a9b7b}.report-summary{background:#f4f8ec;border:1px solid #e1ead2;border-radius:9px;padding:20px;color:#738c5e;font-size:12px;margin:26px 0}.report-cover small{font-size:10px;color:#9eac8d}.page-footer{margin-top:28px;border-color:#dfe7d7;font-size:9px;color:#97a68a;padding-top:17px}.page-footer>span:last-child{font-size:8px;color:#a4b298}
dialog{border-color:#dce6d2;border-radius:17px;padding:28px;box-shadow:0 24px 100px #123b2938}dialog::backdrop{background:#102d236b;backdrop-filter:blur(5px)}.dialog-heading h2{color:#466c39;font-size:23px;font-weight:500}.dropzone{background:linear-gradient(135deg,#f6faef,#eef5e3);border-color:#bed1a5;border-radius:11px;min-height:170px}.dropzone:hover,.dropzone.dragging{border-color:#8eae6d;background:#edf5df}.dropzone strong{font-size:13px;color:#618248}.dropzone small{font-size:10px;color:#9aab85}.upload-symbol{font-size:33px;color:#8fb16a}.field-label{font-size:12px;color:#789163}.field-label>input,.field-label>textarea{border-color:#dfe8d5;background:#fbfdf8;color:#557541;border-radius:7px}.form-note{font-size:11px;color:#94a77f}.guide-content h3{font-size:14px;color:#648549}.guide-content p{font-size:12px;color:#8c9e79}.toast{background:#214f35;border:1px solid #426d4522;border-radius:9px;box-shadow:0 8px 30px #193c2b25}.table-empty{padding:36px 18px}.table-empty strong{font-size:13px;color:#789064}.table-empty p{font-size:11px;color:#9aab87}
@media(min-width:1600px){main{padding:34px 38px}.page-heading{min-height:222px;padding:32px 36px}.page-heading h1{font-size:38px}.workbench-grid{grid-template-columns:minmax(0,1fr) 360px;gap:24px}.metric{padding:21px 23px}.metric strong{font-size:39px}#audio-canvas{height:200px}.assistant-panel{min-height:740px}}
@media(max-width:1250px){.sidebar{width:196px;padding-left:13px;padding-right:13px}.app-shell{margin-left:196px}main{padding:24px 23px}.topbar{padding:0 24px}.brand{font-size:21px;gap:8px}.brand-mark,.brand-mark svg{width:33px}.page-heading{padding:25px;min-height:200px}.page-heading h1{font-size:29px}.page-heading p{max-width:410px;font-size:11px}.page-heading .heading-actions{flex-direction:column;align-items:stretch;gap:8px}.page-heading .button{font-size:11px;padding:10px 13px}.hero-art{width:50%;opacity:.85}.workbench-grid{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.metric{padding:16px 14px}.metric strong{font-size:31px}.metric-label{font-size:10px}.metric-label>span{width:25px;height:25px}.panel-heading{padding:18px 16px 15px}.panel-heading h2{font-size:14px}.panel-heading p{max-width:290px;font-size:10px}.audio-visual{margin:0 16px}#audio-canvas{height:171px}.filter-bar{padding-left:16px;padding-right:16px}.threshold-bar{padding-left:16px;padding-right:16px}.species-filters button{font-size:10px;padding:6px 8px}.threshold-bar>span{display:none}.history-list{grid-template-columns:1fr}.assistant-intro h3{font-size:22px}.playback-hint{display:none}}
@media(max-width:1050px){.sidebar{width:184px}.app-shell{margin-left:184px}.brand{font-size:20px;padding:0 4px}.brand small{font-size:6px;letter-spacing:1.5px}.workspace-label{font-size:8px;letter-spacing:1px}.nav-item{font-size:11px;padding-left:11px;gap:10px}.workbench-grid{grid-template-columns:minmax(0,1fr)}.assistant-panel{position:static;min-height:500px}.chat-messages{min-height:230px;max-height:500px}.suggestion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.suggestion-list button:first-child{grid-column:1/-1}.metrics{gap:10px}.metric{padding:16px 12px}.metric-label>span{display:none}.page-heading h1{font-size:28px}.page-heading p{max-width:380px}.agent-controls select{max-width:260px}.panel-heading p{max-width:unset}.species-nav{font-size:11px}.metric strong{font-size:30px}.page-heading .heading-actions{margin:0}.extension-note{font-size:11px}}
@media(max-width:760px){.sidebar{width:170px;padding-left:10px;padding-right:10px}.app-shell{margin-left:170px}main{padding:20px 16px}.brand{font-size:19px;gap:7px}.brand-mark,.brand-mark svg{width:29px}.brand small{font-size:6px;letter-spacing:1px}.workspace-label{font-size:7px;margin-left:10px}.nav-item{font-size:10px;gap:8px}.page-heading{padding:23px;min-height:230px;align-items:flex-start;flex-wrap:wrap;gap:16px}.page-heading h1{font-size:27px}.page-heading .heading-actions{flex-direction:row;align-self:auto;width:auto}.page-heading .heading-actions button{flex:unset}.hero-workflow{margin-top:16px;font-size:9px;gap:8px}.hero-art{width:70%;right:-20%;height:100%;opacity:.7}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-label>span{display:grid}.metric{padding:16px}.metric-label{font-size:11px}.metric strong{font-size:32px}.metric p{font-size:9px}.notice{align-items:flex-start}.notice button{white-space:normal;min-width:55px}.connection-tag{max-width:210px;font-size:9px;padding:6px 8px}.breadcrumb{font-size:10px}.topbar{padding:0 18px;height:60px}.panel-heading p{white-space:normal;max-width:260px}.extension-form label{max-width:100%}.extension-form input{max-width:100%}.report-cover{padding:25px}.report-cover h2{font-size:24px}.page-footer{font-size:8px}.page-footer>span:last-child{display:none}}
@media(max-width:680px){.sidebar{position:relative;width:100%;height:auto;display:flex;flex-direction:column;padding:16px 16px 10px;align-items:stretch;gap:12px}.brand{font-size:21px;gap:10px;padding:0 2px}.brand-mark{display:grid;width:32px;height:36px}.brand-mark svg{width:32px;height:32px}.brand small{font-size:7px;letter-spacing:1.4px;margin-top:4px}.sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0}.nav-item{font-size:10px;justify-content:center;gap:5px;padding:9px 4px;margin:0;border-radius:6px}.nav-item>span:first-child{display:none}.nav-item.active{box-shadow:none}.workspace-label,.sidebar-section,.species-nav,.sidebar-bottom{display:none}.app-shell{margin-left:0}.topbar{height:48px;padding:0 16px}.breadcrumb{font-size:9px}.breadcrumb span{margin:0 7px}.header-right{gap:9px}.connection-tag{font-size:8px;max-width:180px;padding:5px 7px}.icon-button{width:24px;height:24px}main{padding:16px 13px 20px}.page-heading{min-height:235px;border-radius:12px;padding:22px;gap:18px;margin-bottom:13px}.page-heading h1{font-size:27px;letter-spacing:.5px;margin-top:12px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.page-heading p{font-size:10px;line-height:1.9;max-width:290px}.hero-workflow{font-size:9px;gap:8px;margin-top:17px}.hero-workflow b{font-size:8px;margin-right:4px}.hero-art{right:-25%;width:90%;opacity:.7}.page-heading .heading-actions{margin:0;gap:9px}.page-heading .button{font-size:10px;padding:9px 12px}.notice{font-size:9px;padding:10px;gap:8px;margin-bottom:15px}.notice button{font-size:9px}.notice-icon{width:16px;height:16px;line-height:16px}.metrics{gap:10px;margin-bottom:15px}.metric{border-radius:10px;padding:15px}.metric-label{font-size:10px}.metric strong{font-size:31px}.metric strong small{font-size:9px}.metric p{font-size:9px}.panel{border-radius:11px}.workbench-grid{gap:16px}.panel-heading{padding:17px 15px 14px}.panel-heading h2{font-size:14px}.panel-heading p{font-size:10px;max-width:230px}.audio-visual{margin:0 14px;padding:12px}#audio-canvas{height:155px}.visual-top{font-size:7px}.visual-top>span:last-child{font-size:7px}.playback{padding:14px}.playback-clock{font-size:10px}.filter-bar{padding:0 14px 13px;gap:10px}.species-filters{gap:4px}.species-filters button{font-size:9px;padding:6px 7px}.review-toggle{font-size:9px}.threshold-bar{padding:10px 14px;font-size:9px}.threshold-bar>span{display:none}th,td{font-size:10px}.time-button,.species-label,.score-value{font-size:10px}.review-status,.row-actions button{font-size:9px}.table-footer{font-size:9px}.suggestion-list{grid-template-columns:1fr}.suggestion-list button:first-child{grid-column:auto}.assistant-panel{min-height:500px}.assistant-intro h3{font-size:24px}.assistant-heading h2{font-size:14px}.chat-message .message-body{font-size:12px}.extension-panel{padding:17px}.extension-panel>.panel-heading{padding:0 0 14px}.extension-form{gap:12px}.extension-form label{font-size:10px;flex:1 1 130px;min-width:0}.extension-form input,.extension-form select{font-size:10px;min-width:0;width:100%}.extension-form input[type=checkbox]{width:auto}.extension-note{font-size:10px}.index-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.index-card{padding:13px}.index-card strong{font-size:25px}.index-card small{font-size:9px}.chart-legend{font-size:10px;gap:12px}.section-heading{margin:20px 0 15px;gap:15px}.section-heading h2{font-size:16px}.section-heading>.muted{font-size:10px}.history-card{padding:16px}.history-card strong{font-size:11px}.history-card p{font-size:9px}.report-cover{padding:24px}.report-cover h2{font-size:23px}.report-summary{font-size:11px;padding:16px}.report-cover .heading-actions{flex-wrap:wrap}.report-cover .heading-actions button{flex:1}.dialog-heading h2{font-size:21px}.dialog-actions .button{font-size:11px}.page-footer{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:680px){.page-heading>div:first-of-type{flex:1 1 100%;min-width:0}.page-heading .heading-actions{flex:0 0 auto}.nav-count{font-size:9px;padding:2px 5px}.page-heading .hero-workflow{flex-wrap:wrap}}

#reset-workbench{font-size:12px;padding:7px 11px;white-space:nowrap}
@media(max-width:680px){#reset-workbench{font-size:9px;padding:6px 7px}.header-right{gap:5px}}

.task-progress{margin:0 0 24px;padding:22px 26px;border:1px solid #c9dcd1;border-radius:14px;background:#f5faf6;box-shadow:0 8px 22px #183e3208}.task-progress-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.task-progress-heading h2{margin:7px 0;font-size:20px;color:#183e32}.task-progress-heading p{margin:0 0 12px;font-size:12px;overflow-wrap:anywhere;color:#66776e}.task-progress-heading strong{font-size:30px;color:#326c50;white-space:nowrap}progress{width:100%;height:14px;accent-color:#39765d;border:0;border-radius:8px;overflow:hidden;background:#dce8df}progress::-webkit-progress-bar{background:#dce8df;border-radius:8px}progress::-webkit-progress-value{background:#39765d;border-radius:8px;transition:width .35s}.task-progress-steps{display:flex;gap:25px;margin:15px 0;color:#8a978e;font-size:12px;flex-wrap:wrap}.task-progress-steps .complete{color:#39765d}.task-progress-steps .active{font-weight:700;color:#183e32}.task-progress-detail{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:#395746;flex-wrap:wrap}.task-progress-note{font-size:11px;color:#758277;margin:10px 0 0}#upload-progress{margin:12px 0;font-size:12px;overflow-wrap:anywhere;color:#395746}@media(max-width:680px){.task-progress{padding:17px}.task-progress-steps{gap:12px}.task-progress-heading strong{font-size:24px}}

.chat-followups{padding:13px 15px;border-top:1px solid #e1ead6;background:#f7faf3}.chat-followups>strong{font-size:11px;color:#587447}.chat-followups .suggestion-list{margin:8px 0;display:grid;grid-template-columns:1fr 1fr;gap:7px}.chat-followups .suggestion-list button{font-size:10px;padding:8px;line-height:1.65;min-width:0;overflow-wrap:anywhere;grid-column:auto}.chat-followups .suggestion-list button:disabled{opacity:.5;cursor:wait;transform:none}.followups-note{font-size:9px;color:#8a9d79;display:block}.assistant-panel .chat-messages{min-height:220px}@media(max-width:680px){.chat-followups .suggestion-list{grid-template-columns:1fr 1fr}}

body.needs-auth>.sidebar,body.needs-auth>.app-shell{display:none}.auth-gate{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#f5f8f1;align-items:center;padding:7vh 9vw;gap:8vw}.auth-intro h1{font-size:54px;color:#234e3b;margin:25px 0}.auth-intro h2{font-size:32px;line-height:1.6;font-weight:500;color:#476a50}.auth-intro p{font-size:15px;line-height:2.1;color:#788976;max-width:470px}.auth-features{font-size:12px;color:#8b9e80;margin-top:45px;line-height:2}.auth-form-panel{background:#fff;padding:38px;border:1px solid #dfe8d8;border-radius:18px;box-shadow:0 16px 50px #244b3010;max-width:480px;width:100%}.auth-switch{display:flex;border-bottom:1px solid #e5ecdf;gap:25px;margin-bottom:30px}.auth-switch button{border:0;background:none;padding:12px 0;color:#8d9d80;font-size:15px}.auth-switch button.selected{color:#365f3e;border-bottom:2px solid #608951;font-weight:700}.auth-form-panel h2{font-size:25px;color:#32583e}.auth-form-panel form>p{color:#8a9b7d;font-size:12px;line-height:1.8}.auth-form-panel .field-label{display:flex;flex-direction:column;gap:9px;margin:22px 0;color:#566e49}.auth-form-panel input{width:100%;box-sizing:border-box;padding:13px;border:1px solid #dbe5d1;border-radius:8px;background:#fbfdf8}.auth-form-panel #auth-submit{width:100%;margin-top:12px;padding:13px}.auth-note{margin-top:22px}.account-cover{padding:28px;border:1px solid #dce7d4;border-radius:14px;background:#f8fbf4}.account-cover h2{color:#365d3e;font-size:26px}.account-cover p{color:#7f9472;line-height:1.8}.account-cover .metrics{margin:24px 0 0}#my-history{margin-bottom:30px}@media(max-width:900px){.auth-gate{grid-template-columns:1fr;gap:25px;padding:30px 6vw}.auth-intro h1{font-size:34px;margin:12px 0}.auth-intro h2{font-size:22px}.auth-features{display:none}.auth-form-panel{max-width:none;box-sizing:border-box}.auth-intro p{margin-bottom:0}.header-right{flex-wrap:wrap}.topbar{min-height:65px;height:auto}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}}

.live-panel{max-width:1200px}.live-body{padding:0 26px 24px}.live-controls{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.live-meter{display:flex;align-items:center;gap:20px;font-size:12px;color:#6e8560;margin:20px 0}.live-meter progress{max-width:450px}.live-statistics{display:flex;gap:55px;margin:24px 0;color:#7c9270;font-size:12px;flex-wrap:wrap}.live-statistics strong{display:block;font-size:30px;color:#345c3e;margin-top:8px}.live-body .threshold-bar{padding-left:0;border-radius:8px}.live-body .table-wrapper{max-height:460px;overflow:auto}.live-body th{position:sticky;top:0;background:#f4f8ef}.live-body .extension-form label{min-width:190px}.live-body #live-note{padding:12px;background:#f3f8ec;border-radius:8px;line-height:1.8}@media(max-width:900px){.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.live-body{padding:0 15px 18px}.live-statistics{gap:25px}.live-meter{gap:10px;flex-wrap:wrap}}
/* Hainan reference catalogue: independent of the three-class sound model. */
.sidebar .catalog-sidebar-heading{margin:17px 10px 10px;letter-spacing:0;flex-shrink:0}.catalog-sidebar-heading>span{font-size:9px}.catalog-sidebar{flex:1 1 130px;min-height:70px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5d4be transparent;padding:0 4px}.catalog-species-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px;border:0;border-bottom:1px solid #e8eee3;background:transparent;text-align:left;color:#4d6850;font-size:11px;border-radius:5px}.catalog-species-button:hover{background:#eaf1e4}.catalog-species-button small{display:block;font-size:9px;color:#8c9a83;margin-top:4px}.catalog-model-dot{color:#4f8758;font-size:10px}.catalog-reference-dot{color:#adb99f;font-size:10px}.sidebar>.nav-item{flex-shrink:0}.sidebar .local-note{margin:12px 12px}.sidebar .sidebar-user{padding:12px 8px}.sidebar .sidebar-bottom{flex-shrink:0}.catalog-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 30px;border:1px solid #d9e5d4;border-radius:14px;background:linear-gradient(120deg,#e9f2e4,#f8fbf5);margin-bottom:16px}.catalog-intro h2{font-size:25px;font-weight:600;margin:14px 0;color:#2d563b}.catalog-intro p{font-size:12px;line-height:1.9;color:#718568}.catalog-total{display:flex;flex-direction:column;align-items:center;flex-shrink:0;min-width:105px;color:#537748}.catalog-total strong{font-size:60px;font-weight:400;line-height:1.2;letter-spacing:-3px}.catalog-total span{font-size:11px;margin-top:5px}.catalog-note{font-size:12px;line-height:1.9;color:#5f7656;background:#f0f5e9;padding:13px 18px;border-radius:8px}.catalog-toolbar{display:flex;gap:20px;align-items:flex-end;margin:25px 0 18px}.catalog-toolbar label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#657c5a}.catalog-toolbar label:first-child{flex:1;max-width:460px}.catalog-toolbar input,.catalog-toolbar select{padding:11px 13px;border:1px solid #d8e3d0;border-radius:8px;background:#fff;color:#42613c;min-width:0;width:100%;font-size:12px}.catalog-toolbar>span{margin-left:auto;white-space:nowrap;color:#829276;font-size:11px;padding-bottom:12px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-card{position:relative;padding:22px;border:1px solid #e0e8d9;border-radius:13px;background:#fff;box-shadow:0 5px 18px #24432e04;min-width:0;transition:transform .16s,box-shadow .16s}.catalog-card:hover{transform:translateY(-3px);box-shadow:0 9px 25px #24432e0c}.catalog-card.model-covered{border-top:3px solid #769766;background:linear-gradient(155deg,#fff,#f4f8ee)}.catalog-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:8px}.catalog-index{font-family:Georgia,serif;font-size:30px;color:#c1cfb6}.catalog-badge{font-size:10px;color:#89947f;border:1px solid #e0e7d8;padding:5px 8px;border-radius:20px;background:#f7f9f3;white-space:nowrap}.catalog-badge.covered{color:#47723b;border-color:#d3e2c8;background:#eaf3e2}.catalog-family{font-size:10px;color:#8f9f82;letter-spacing:1px}.catalog-card h3{font-size:20px;color:#31563b;margin:9px 0}.catalog-latin{display:block;color:#839277;font-family:Georgia,serif;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.catalog-area{border-top:1px solid #edf1e7;padding-top:15px;margin:19px 0 13px;font-size:10px;color:#839478}.catalog-source-link{font-size:10px;color:#69865a}.catalog-source-link:hover,.catalog-sources a:hover{text-decoration:underline}.catalog-sources{padding:23px 25px;margin:26px 0;border:1px solid #dfe8d7;border-radius:12px;background:#f9fbf5}.catalog-sources h3{font-size:14px;margin:0 0 10px;color:#4a6c3f}.catalog-sources p{font-size:11px;line-height:1.9;color:#859679}.catalog-sources a{display:block;font-size:11px;line-height:1.9;margin-top:8px;color:#5b7a4c;overflow-wrap:anywhere}.catalog-empty{padding:45px;text-align:center;color:#8a9c7b}
@media(max-width:1150px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.catalog-sidebar,.sidebar .catalog-sidebar-heading{display:none}.sidebar>.nav-item[data-nav="catalog"]{margin:0;justify-content:center;padding:9px;font-size:11px}.catalog-intro{padding:22px}.catalog-intro h2{font-size:22px}}
@media(max-width:600px){.catalog-grid{grid-template-columns:1fr}.catalog-toolbar{gap:12px;flex-wrap:wrap}.catalog-toolbar label:first-child{flex-basis:100%;max-width:none}.catalog-toolbar>span{padding-bottom:10px}.catalog-total{min-width:65px}.catalog-total strong{font-size:43px}.catalog-intro{padding:18px;gap:10px}.catalog-intro h2{font-size:19px}.catalog-intro p{font-size:11px}.catalog-note{font-size:11px}.catalog-card{padding:20px}.catalog-card-top{margin-bottom:16px}}
/* Illustrated reference cards: descriptions visible without leaving the page. */
.catalog-page .page-heading,.catalog-page #model-notice{display:none}.catalog-page main{padding-top:25px}.catalog-card{padding:0;overflow:hidden}.catalog-card.model-covered{border-top-width:1px}.catalog-photo{margin:0;background:#edf2e6}.catalog-photo-open{position:relative;display:block;padding:0;border:0;width:100%;background:#e7eddf;overflow:hidden;line-height:0}.catalog-photo-open>img{display:block;width:100%;height:205px;object-fit:cover;transition:transform .3s}.catalog-photo-open:hover>img{transform:scale(1.035)}.catalog-photo-zoom{position:absolute;right:11px;bottom:11px;padding:6px 9px;border-radius:20px;background:#143424a6;color:#f3f8e9;line-height:1.3;font-size:10px;backdrop-filter:blur(4px)}.catalog-photo-credit{display:flex;gap:9px;align-items:center;padding:8px 12px;background:#f7faf3;border-bottom:1px solid #e6eddf;font-size:8px;line-height:1.7;color:#8d9a80;min-height:31px}.catalog-photo-credit>span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.catalog-photo-credit a{white-space:nowrap;color:#81916f}.catalog-photo-credit a:hover{text-decoration:underline}.catalog-card-body{padding:19px 21px 22px}.catalog-card-body .catalog-card-top{margin-bottom:15px}.catalog-card-body .catalog-index{font-size:20px}.catalog-card-body h3{font-size:22px;margin:8px 0}.catalog-card-body .catalog-latin{font-size:13px}.catalog-habitat-tag{display:inline-block;color:#7c9067;background:#eff4e7;font-size:10px;padding:5px 9px;border-radius:4px;margin-top:13px}.catalog-basics{display:grid;grid-template-columns:60px minmax(0,1fr);gap:15px 10px;margin:22px 0 0;padding-top:18px;border-top:1px solid #ebf0e3}.catalog-basics dt{font-size:10px;color:#658251;line-height:1.9;font-weight:600}.catalog-basics dd{margin:0;color:#859276;font-size:11px;line-height:1.95;overflow-wrap:anywhere}.catalog-taxonomy-note{font-size:9px;color:#a29570;background:#f8f6ec;border-radius:5px;padding:9px;line-height:1.9;margin:15px 0 0}.catalog-reference-note{font-size:10px;color:#9ba78b;line-height:1.9;margin:25px 0 10px}.catalog-photo-dialog{width:min(900px,94vw);max-width:94vw;padding:23px;background:#f8faf5;border:1px solid #dbe6ce}.catalog-photo-dialog .dialog-heading{margin-bottom:15px}.catalog-photo-dialog .dialog-heading h2{font-size:22px;color:#44673c;margin:0}.catalog-photo-dialog>img{display:block;max-height:68vh;max-width:100%;width:auto;height:auto;margin:0 auto;object-fit:contain;border-radius:8px}.catalog-photo-dialog>p{font-size:11px;color:#8b9b7a;line-height:1.8;margin-bottom:0;overflow-wrap:anywhere}.catalog-photo-dialog::backdrop{background:#11281dbd;backdrop-filter:blur(4px)}
@media(min-width:1600px){.catalog-photo-open>img{height:245px}.catalog-basics dd{font-size:12px}.catalog-card-body{padding:23px 25px}}
@media(max-width:680px){.catalog-photo-open>img{height:225px}.catalog-card-body{padding:19px}.catalog-basics{grid-template-columns:58px minmax(0,1fr);gap:12px 8px}.catalog-basics dt{font-size:11px}.catalog-basics dd{font-size:12px}.catalog-photo-credit{font-size:9px}.catalog-photo-dialog{padding:17px}.catalog-photo-dialog>img{max-height:60vh}}
/* Monitoring wall */
.screen-page .page-heading, .screen-page #model-notice, .screen-page .page-footer { display: none; }
.screen-page main { padding: 16px; }
.monitor-screen {
  --wall-ink: #edf5eb;
  --wall-muted: #a7c0b4;
  --wall-line: #315649;
  --wall-panel: #152f27;
  --wall-mint: #97dec0;
  --wall-gold: #f2ce8a;
  color: var(--wall-ink);
  background: radial-gradient(ellipse at 52% 0%, #214338, transparent 65%), #0e231e;
  border: 1px solid #345c4f;
  border-radius: 16px;
  padding: 17px 19px 10px;
  font-variant-numeric: tabular-nums;
}
.ms-header, .ms-controls, .ms-panel-title, .ms-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ms-header { padding-bottom: 13px; border-bottom: 1px solid var(--wall-line); }
.ms-title, .ms-top-actions, .ms-controls > div, .ms-controls label { display: flex; align-items: center; gap: 9px; }
.ms-title { gap: 12px; min-width: 0; }
.ms-brand-symbol { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 11px; background: #295644; border: 1px solid #53806b; color: var(--wall-mint); font-size: 30px; }
.ms-title > div > span { display: block; color: var(--wall-mint); font-size: 9px; letter-spacing: .18em; }
.ms-header h1 { margin: 4px 0 0; font-size: clamp(20px, 2vw, 32px); letter-spacing: .045em; line-height: 1.25; }
.ms-top-actions { flex-shrink: 0; }
.ms-top-actions time { color: var(--wall-gold); font: 16px Consolas, monospace; margin-right: 6px; }
.monitor-screen button, .monitor-screen a { cursor: pointer; }
.monitor-screen button:focus-visible, .monitor-screen select:focus-visible, .monitor-screen a:focus-visible { outline: 2px solid var(--wall-gold); outline-offset: 2px; }
.ms-top-actions button, .ms-record-actions > *, .ms-evidence-play, .ms-site-chip {
  border: 1px solid #416657;
  border-radius: 6px;
  background: #213e34;
  color: var(--wall-ink);
  font: inherit;
  font-size: 11px;
  padding: 7px 10px;
}
.ms-top-actions button:hover, .ms-evidence-play:hover, .ms-site-chip:hover { background: #315344; }
.ms-top-actions button:last-child, .ms-record-actions > button { background: var(--wall-mint); color: #10271e; border-color: var(--wall-mint); font-weight: 650; }
.ms-controls { padding: 10px 0; font-size: 11px; color: var(--wall-muted); }
.ms-controls > span { min-width: 0; max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ms-controls > span::before { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 8px 1px 1px; border-radius: 50%; background: var(--wall-mint); }
.monitor-screen select { background: #1b362d; color: var(--wall-ink); border: 1px solid #426658; border-radius: 6px; font: inherit; font-size: 11px; padding: 5px 7px; }
.ms-controls #ms-site { max-width: 125px; }
.ms-controls #ms-case { max-width: 230px; }
.ms-controls > div > button { border: 0; background: transparent; color: var(--wall-mint); font-size: 19px; padding: 0 4px; }
.ms-controls .ms-error { color: var(--wall-gold); }
.ms-layout { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.95fr) minmax(0, 1.06fr); gap: 12px; height: max(635px, calc(100vh - 220px)); }
.ms-column { display: grid; gap: 12px; min-width: 0; min-height: 0; }
.ms-left { grid-template-rows: 1.18fr .82fr .94fr; }
.ms-center { grid-template-rows: 80px 1.25fr 1fr; }
.ms-right { grid-template-rows: .85fr 1.08fr 1fr; }
.ms-panel { display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; background: var(--wall-panel); border: 1px solid var(--wall-line); border-radius: 11px; }
.ms-panel-title { min-height: 36px; padding: 7px 11px; background: #1b382e; border-bottom: 1px solid var(--wall-line); flex-shrink: 0; }
.ms-panel-title h2 { margin: 0; color: var(--wall-ink); font-size: 13px; font-weight: 650; }
.ms-panel-title h2::before { content: ''; display: inline-block; width: 4px; height: 11px; margin-right: 7px; vertical-align: -1px; border-radius: 2px; background: var(--wall-mint); }
.ms-panel-title > span, .ms-panel-title button, .ms-panel-title select { font-size: 10px; white-space: nowrap; }
.ms-panel-title > span { color: var(--wall-muted); }
.ms-panel-title button { color: var(--wall-mint); background: transparent; border: 0; padding: 2px 0; }
.ms-panel-title button:hover, .ms-footer button:hover { text-decoration: underline; }
.ms-panel-title select { padding: 3px 5px; }
.ms-note { margin: 6px 0 8px; padding: 0 11px; color: var(--wall-muted); font-size: 10px; line-height: 1.35; flex-shrink: 0; }
.ms-empty { margin: auto; padding: 12px; color: var(--wall-muted); font-size: 12px; text-align: center; }
.ms-indices, .ms-record-info { display: grid; min-height: 0; flex: 1; gap: 7px; padding: 9px 10px; }
.ms-indices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ms-index, .ms-record-info > div { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 5px 7px; background: #1c392f; border: 1px solid #2f5144; border-radius: 7px; }
.ms-index > span { color: var(--wall-mint); font-size: 10px; font-weight: 650; }
.ms-index > strong { color: var(--wall-ink); font: 600 clamp(12px, 1.12vw, 19px)/1.1 Consolas, monospace; margin: 4px 0; overflow-wrap: anywhere; }
.ms-index > small { color: var(--wall-muted); font-size: 9px; line-height: 1.12; }
.ms-wave-panel canvas, .ms-spectrum-panel canvas { display: block; width: calc(100% - 20px); height: 0; flex: 1; min-height: 0; margin: 9px 10px 0; border-radius: 5px; }
.ms-wave-panel canvas { background: #10271f; }
.ms-mini-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 7px 5px 8px; text-align: center; }
.ms-mini-stats > div + div { border-left: 1px solid var(--wall-line); }
.ms-mini-stats small, .ms-map-summary small, .ms-record-info small { display: block; color: var(--wall-muted); font-size: 10px; line-height: 1.15; }
.ms-mini-stats strong, .ms-map-summary strong, .ms-record-info strong { display: block; color: var(--wall-ink); font-size: 11px; margin-top: 4px; font-weight: 600; }
.ms-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.ms-stat { position: relative; min-width: 0; padding: 10px 11px; overflow: hidden; border-radius: 9px; border: 1px solid #426354; background: linear-gradient(135deg, #24463a, #19372c); }
.ms-stat::after { content: ''; position: absolute; right: -15px; bottom: -24px; width: 70px; height: 70px; border: 1px solid #80c5a526; border-radius: 50%; box-shadow: 0 0 0 8px #80c5a510, 0 0 0 16px #80c5a509; pointer-events: none; }
.ms-stat > span { color: var(--wall-muted); font-size: 11px; }
.ms-stat strong { display: block; color: var(--wall-mint); margin-top: 5px; font-size: clamp(20px, 2vw, 32px); line-height: 1.1; font-weight: 650; white-space: nowrap; }
.ms-stat:nth-child(2) strong { color: var(--wall-gold); }
.ms-stat:nth-child(3) strong { font-size: clamp(16px, 1.65vw, 28px); }
.ms-stat small { color: var(--wall-muted); margin-left: 4px; font-size: 10px; font-weight: 400; }
.ms-map { position: relative; min-height: 0; flex: 1; overflow: hidden; background: radial-gradient(ellipse at 55% 45%, #25483b, #10271f 73%); }
.ms-map > img { display: block; width: 100%; height: 100%; object-fit: contain; transform: perspective(850px) rotateX(24deg) scale(1.13); transform-origin: 54% 51%; }
.ms-map-sites { position: absolute; top: 10px; left: 10px; display: grid; gap: 5px; z-index: 1; max-width: 110px; max-height: 82%; overflow: auto; }
.ms-site-chip { background: #142f27ed; text-align: left; font-size: 10px; padding: 5px 8px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ms-site-chip.active { background: #88d3b0; color: #10271f; border-color: #88d3b0; font-weight: 650; }
.ms-map-caption { position: absolute; right: 9px; bottom: 8px; color: var(--wall-muted); text-align: right; pointer-events: none; }
.ms-compass { color: var(--wall-gold); font: 14px Georgia, serif; }
.ms-map-caption p { margin: 3px 0 0; padding: 4px 6px; background: #10271fee; border-radius: 4px; font-size: 9px; line-height: 1.35; }
.ms-map-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 7px 10px; border-top: 1px solid var(--wall-line); flex-shrink: 0; }
.ms-map-summary > div + div { border-left: 1px solid var(--wall-line); padding-left: 10px; }
.ms-map-summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ms-legend { display: flex; flex-wrap: wrap; gap: 12px; color: var(--wall-muted); padding: 7px 11px 0; font-size: 10px; flex-shrink: 0; }
.ms-legend span { display: flex; align-items: center; gap: 5px; }
.ms-legend i { width: 7px; height: 7px; border-radius: 50%; }
.ms-trend { display: flex; align-items: stretch; padding: 2px 7px 0; flex: 1; min-height: 0; }
.ms-trend svg { display: block; width: 100%; min-height: 0; }
.ms-review-list { display: grid; gap: 6px; padding: 8px 11px 2px; flex: 1; min-height: 0; align-content: space-around; }
.ms-review-row > div:first-child { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; color: var(--wall-muted); font-size: 10px; }
.ms-review-row strong { margin-left: auto; color: var(--wall-ink); font: 15px/1 Consolas, monospace; }
.ms-review-row i { display: block; width: 6px; height: 6px; border-radius: 2px; }
.ms-review-track { height: 3px; border-radius: 3px; overflow: hidden; background: #294a3d; }
.ms-review-track > i { height: 100%; border-radius: inherit; }
.ms-species { display: grid; padding: 2px 10px 0; flex: 1; min-height: 0; }
.ms-species-row { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 4px 0; border-bottom: 1px solid #294b3e; }
.ms-species-row:last-child { border-bottom: 0; }
.ms-species-row > img { width: 31px; height: 31px; object-fit: cover; border: 1px solid #547968; border-radius: 7px; flex-shrink: 0; }
.ms-species-row > div { flex: 1; min-width: 0; }
.ms-species-row strong { display: block; font-size: 11px; font-weight: 650; white-space: nowrap; }
.ms-species-row small { display: block; margin-top: 3px; color: var(--wall-muted); font-size: 9px; }
.ms-evidence-play { flex-shrink: 0; padding: 4px 6px; font-size: 10px; white-space: nowrap; }
.ms-record-info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ms-record-info strong { overflow-wrap: anywhere; }
.ms-record-info > div:nth-child(3) strong { font-size: 9px; }
.ms-record-actions { display: flex; gap: 6px; padding: 0 10px 8px; }
.ms-record-actions > * { flex: 1; padding: 5px 3px; text-align: center; white-space: nowrap; font-size: 10px; text-decoration: none; }
.ms-footer { color: var(--wall-muted); font-size: 9px; padding-top: 8px; line-height: 1.3; }
.ms-footer button { background: transparent; color: var(--wall-mint); border: 0; padding: 0; font: inherit; }
.monitor-screen [hidden] { display: none !important; }
.monitor-screen :disabled { opacity: .48; cursor: not-allowed; }
body.screen-presentation { overflow: hidden; }
.monitor-screen:is(:fullscreen, .ms-presentation) { display: flex; flex-direction: column; width: 100%; height: 100vh; padding: 12px 16px 8px; border: 0; border-radius: 0; overflow: auto; }
.monitor-screen.ms-presentation { position: fixed; inset: 0; z-index: 1100; }
.monitor-screen:is(:fullscreen, .ms-presentation) .ms-layout { height: auto; flex: 1; min-height: 540px; }
.monitor-screen:is(:fullscreen, .ms-presentation) > :not(.ms-layout) { flex-shrink: 0; }
@media (min-width: 1600px) {
  .ms-layout, .ms-column { gap: 15px; }
  .ms-center { grid-template-rows: 94px 1.25fr 1fr; }
  .ms-panel-title { padding: 10px 14px; }
  .ms-panel-title h2 { font-size: 14px; }
  .ms-index, .ms-record-info > div { padding: 8px 11px; }
  .ms-index > small, .ms-note, .ms-species-row small { font-size: 11px; }
  .ms-species-row > img { width: 39px; height: 39px; }
  .ms-species-row strong, .ms-record-info strong { font-size: 13px; }
  .ms-record-info > div:nth-child(3) strong { font-size: 11px; }
}
@media (max-width: 1150px) {
  .ms-header, .ms-controls { flex-wrap: wrap; }
  .ms-controls > span { max-width: 100%; }
  .ms-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); height: auto; }
  .ms-left { grid-row: 1; min-height: 645px; }
  .ms-center { grid-row: 1; grid-template-rows: 78px minmax(270px, 1.25fr) minmax(210px, 1fr); }
  .ms-right { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 224px; }
  .ms-footer { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .screen-page main { padding: 8px; }
  .monitor-screen, .monitor-screen:is(:fullscreen, .ms-presentation) { padding: 12px; }
  .ms-top-actions, .ms-controls > div { flex-wrap: wrap; }
  .ms-controls #ms-case { max-width: 155px; }
  .ms-layout { grid-template-columns: 1fr; }
  .ms-center { grid-row: 1; grid-template-rows: 76px 310px 235px; }
  .ms-left { grid-row: 2; grid-template-rows: 225px 180px 200px; min-height: 0; }
  .ms-right { grid-row: 3; grid-template-columns: 1fr; grid-template-rows: 180px 215px 205px; }
  .ms-stat { padding: 9px 6px; }
  .ms-stat strong { font-size: 20px; }
  .ms-stat:nth-child(3) strong { font-size: 15px; }
}
