:root{--red:#9c6670;--red-dark:#7b3f4a;--navy:#17202a;--blue:#31475d;--green:#526b5d;--gold:#7b6b4e;--ink:#202326;--muted:#74787c;--soft:#f3f3f1;--surface:#fff;--line:#e2e1dd;--line-dark:#cfcec9;--warn:#f5f2ea;--bad:#f5eeee;--good:#edf2ef;--radius:10px;--shadow:0 8px 26px #181c200b}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:#f5f5f2;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Source Sans 3",system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;transition:transform .18s,background-color .18s,border-color .18s,box-shadow .18s}button:active{transform:scale(.97)}h1,h2{color:var(--navy);letter-spacing:0;margin:0}.app-shell{grid-template-columns:340px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fafaf8eb;height:100vh;padding:20px;position:sticky;top:0;overflow:auto}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:0 0 18px;display:flex}.brand-mark{background:var(--navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-weight:800;display:flex}.brand-mark>span,.welcome-monogram>span{color:#b9c4cc;font-size:.72em}.brand strong{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Source Sans 3",system-ui,sans-serif;font-size:24px;line-height:1;display:block}.brand-copy>span{color:var(--muted);margin-top:3px;font-size:13px;display:block}.species-picker{margin-bottom:15px}.species-picker>span{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.species-picker>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.species-picker button{border:1px solid var(--line);min-height:68px;color:var(--muted);text-align:left;background:#ffffff94;border-radius:10px;align-items:center;gap:9px;padding:8px 10px;display:flex}.species-picker button:hover{border-color:var(--line-dark);background:#ffffffe6;transform:translateY(-2px)}.species-picker button.active{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 8px 20px #17202a24}.species-picker svg{width:38px;height:38px;fill:var(--soft);stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;overflow:visible}.species-picker button.active svg{fill:#ffffff1f;animation:3.2s ease-in-out infinite animalBreathe}.species-picker button:hover svg{animation:1.4s ease-in-out infinite animalBreathe}.species-picker svg .eye{fill:currentColor;stroke:none}.species-picker svg .detail{fill:none}.species-picker b{font-size:14px}.field{margin-bottom:14px}.field.compact{margin-bottom:12px}label{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:800;display:block}input,select{width:100%;min-height:40px;color:var(--ink);background:#ffffffdb;border:1px solid #0000;border-radius:6px;outline:0;padding:9px 11px;transition:border-color .18s,box-shadow .18s,background-color .18s}input:focus,select:focus{border-color:#31475d73;box-shadow:0 0 0 4px #31475d1a}.filter-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.span-filter{grid-column:1/-1}.source-box-section{margin:4px 0 14px}.source-box-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.source-box-heading span{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:800}.source-box-heading small{color:var(--muted);font-size:9px}.source-box-shelf{border:1px solid var(--line-dark);background:linear-gradient(145deg,#17202a12,#ffffff75);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px;display:grid;position:relative;box-shadow:inset 0 1px 3px #17202a14}.source-box{border:1px solid var(--line);border-bottom-color:var(--line-dark);min-width:0;min-height:48px;color:var(--ink);text-align:left;animation:boxRackIn .32s calc(var(--box-index) * 24ms) ease both;background:linear-gradient(#fff,#f0f0ec);border-radius:7px;grid-template-columns:15px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 3px #17202a14}.source-box:after{content:"";pointer-events:none;border:1px solid #ffffffc7;border-radius:4px;position:absolute;inset:3px}.source-box:hover{z-index:1;border-color:var(--line-dark);transform:translateY(2px)scale(.99);box-shadow:0 1px 2px #17202a14}.source-box.active{z-index:2;border-color:var(--navy);background:linear-gradient(#2a3742, var(--navy));color:#fff;transform:translateY(4px);box-shadow:inset 0 2px 5px #00000038,0 0 0 2px #17202a14}.source-box:disabled{cursor:wait}.source-box>i{z-index:1;opacity:.48;border:1px solid;border-radius:99px;width:15px;height:6px;position:relative}.source-box>span{z-index:1;min-width:0;position:relative}.source-box b,.source-box small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.source-box b{font-size:10px}.source-box small{color:var(--muted);margin-top:2px;font-size:8px}.source-box.active small{color:#ffffff9e}.source-box em{z-index:1;opacity:.45;font-size:16px;font-style:normal;transition:transform .24s;position:relative}.source-box.active em{opacity:.9;transform:rotate(90deg)}.source-box.unlocking{animation:.34s cubic-bezier(.2,.8,.2,1) both boxUnlock}.source-box.box-tap{animation:.36s both boxTap}.quick-markers{flex-wrap:wrap;gap:6px;margin:2px 0 14px;display:flex}.quick-chip{border:1px solid var(--line);min-height:27px;color:var(--muted);background:#ffffffd1;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.quick-chip:hover{color:var(--blue);border-color:#007aff47}.laser-list{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px;display:grid}.inventory-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:0 0 9px;font-size:12px;display:flex}.inventory-drawer{border:1px solid var(--line-dark);transform-origin:top;background:linear-gradient(#ffffffc7,#f0f0ec9e);border-radius:11px;padding:11px 9px 9px;position:relative;box-shadow:0 12px 28px #17202a14,inset 0 1px #fffc}.drawer-handle{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:8px;margin:-4px 0 10px;padding:7px 3px 10px;font-size:10px;display:flex}.drawer-handle span{border:1px solid var(--line-dark);background:linear-gradient(#fff,#d8d8d2);border-radius:99px;width:30px;height:7px;box-shadow:inset 0 1px #ffffffe6}.drawer-handle div{min-width:0}.drawer-handle b,.drawer-handle small{display:block}.drawer-handle b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer-handle small{color:var(--green);letter-spacing:.7px;margin-top:2px;font-size:8px}.inventory-drawer.drawer-closing{pointer-events:none;animation:.24s cubic-bezier(.55,0,1,.45) both drawerClose}.inventory-drawer.drawer-opening{animation:.56s cubic-bezier(.16,.82,.2,1) both drawerOpen}.inventory-meta b{color:var(--ink);font-size:14px}.inventory-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.laser-list span{border-top:4px solid var(--laser);background:var(--soft);color:var(--muted);text-align:center;border-radius:6px;padding:7px 5px;font-size:11px;line-height:1.1}.laser-list b{color:var(--ink);font-size:13px;display:block}.inventory-list{gap:8px;display:grid}.inventory-item{border:1px solid var(--line);border-radius:var(--radius);animation:itemReveal .32s var(--item-delay,0s) ease both;background:#ffffffc2;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.inventory-item:hover{border-color:#007aff3d;transform:translateY(-1px);box-shadow:0 8px 22px #0000000d}.inventory-item.selected{background:#fffffff5;border-color:#007aff5c;box-shadow:0 8px 24px #0000000f}.inventory-item b,.inventory-item span,.inventory-item small{display:block}.inventory-item span{color:var(--ink);font-size:13px}.inventory-item span strong{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;font-size:10px;display:inline}.inventory-item small{color:var(--muted);margin-top:2px;font-size:12px}.workspace{min-width:0;padding:28px}.workspace-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.eyebrow{color:var(--blue);letter-spacing:1.3px;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.workspace-head h1{font-family:-apple-system,BlinkMacSystemFont,"Source Sans 3",system-ui,sans-serif;font-size:clamp(30px,4vw,48px);font-weight:800;line-height:1.03}.subline{color:var(--muted);margin-top:8px;font-size:14px}.head-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.compact-action{min-width:42px;padding-inline:10px}.firebase-auth-btn{text-overflow:ellipsis;white-space:nowrap;max-width:154px;overflow:hidden}.profile-menu-wrap{z-index:30;position:relative}.profile-trigger{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);text-align:left;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:5px 9px 5px 6px;display:grid;box-shadow:0 8px 24px #17202a12}.profile-trigger:hover,.profile-trigger.active{border-color:var(--line-dark);transform:translateY(-1px)}.profile-trigger>span:nth-child(2){max-width:150px;display:grid}.profile-trigger b,.profile-trigger small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-trigger b{font-size:11px}.profile-trigger small{color:var(--muted);font-size:9px}.profile-trigger>i{color:var(--muted);font-style:normal}.profile-avatar{background:var(--navy);color:#fff;letter-spacing:.5px;border-radius:9px;flex:none;place-items:center;width:31px;height:31px;font-size:10px;font-weight:900;display:grid}.profile-avatar.large{border-radius:12px;width:43px;height:43px;font-size:12px}.profile-popover{border:1px solid var(--line);background:var(--surface);border-radius:16px;width:min(330px,88vw);padding:8px;animation:.22s cubic-bezier(.2,.8,.2,1) both profileMenuIn;position:absolute;top:calc(100% + 9px);right:0;overflow:hidden;box-shadow:0 24px 60px #17202a2e}.profile-summary{border-bottom:1px solid var(--line);align-items:center;gap:11px;margin:0 4px 6px;padding:8px 5px 13px;display:flex}.profile-summary>div{gap:2px;min-width:0;display:grid}.profile-summary b,.profile-summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-summary b{font-size:13px}.profile-summary span{color:var(--muted);font-size:10px}.profile-summary em{background:var(--soft);width:max-content;color:var(--muted);text-transform:uppercase;border-radius:999px;padding:2px 6px;font-size:8px;font-style:normal;font-weight:900}.profile-popover>button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 8px;display:grid}.profile-popover>button:hover{background:var(--soft)}.profile-popover>button>span,.profile-popover>button>i{color:var(--muted);text-align:center;font-style:normal}.profile-popover>button>div{gap:2px;display:grid}.profile-popover>button b{font-size:11px}.profile-popover>button small{color:var(--muted);font-size:9px}.profile-popover>button.profile-signout{border-top:1px solid var(--line);border-radius:0 0 10px 10px;margin-top:5px;padding-top:12px}@keyframes profileMenuIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.sync-status{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#ffffffad;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:700;display:inline-flex}.sync-status i{background:var(--muted);border-radius:50%;width:7px;height:7px}.sync-status.online i{background:var(--green);animation:2.2s ease-in-out infinite statusPulse;box-shadow:0 0 0 4px #526b5d1f}.sync-status.offline i{background:var(--red-dark)}.sync-status.syncing i{background:var(--gold);animation:.7s linear infinite savingSpin}.library-btn span{background:var(--navy);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:6px;font-size:11px;display:inline-grid}.help-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.builder-card{margin-bottom:14px}.builder-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:end;gap:10px;display:grid}.secondary-btn.optimize-btn{color:#fff;background:var(--navy);box-shadow:none}.secondary-btn.optimize-btn:hover{color:#fff;background:#2b3945;transform:translateY(-1px)}.builder-field{margin-bottom:0}.suggestion-copy{color:var(--muted);margin-top:9px;font-size:13px}.help-tile{border:1px solid var(--line);border-radius:var(--radius);min-height:76px;color:var(--ink);text-align:left;background:#ffffffbd;padding:13px;transition:transform .18s,box-shadow .18s,border-color .18s;display:block;box-shadow:0 10px 28px #0000000d}.help-tile:hover{border-color:#007aff47;transform:translateY(-2px);box-shadow:0 16px 36px #00000014}.help-tile b,.help-tile span{display:block}.help-tile b{color:var(--ink);font-size:15px}.help-tile span{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.3}.secondary-btn,.danger-btn,.icon-btn{background:#ffffffdb;border:1px solid #0000;border-radius:6px;min-height:38px;padding:8px 14px;font-weight:800}.secondary-btn{color:var(--blue);box-shadow:inset 0 0 0 1px var(--line);border-color:#0000}.secondary-btn:hover{background:#fff}.danger-btn{color:#fff;background:#1d1d1f}.icon-btn{color:#fff;background:var(--blue);border-color:var(--blue);width:34px;height:34px;min-height:34px;padding:0;font-size:20px;line-height:1}.icon-btn.ghost{color:var(--muted);border-color:var(--line-dark);background:#fff}.mini-actions,.row-actions{gap:6px;display:inline-flex}.mini-actions .icon-btn,.row-actions .icon-btn{font-size:16px;font-weight:900}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.metric,.panel-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;transition:border-color .25s,box-shadow .25s,transform .25s}.metric:hover,.panel-card:hover{border-color:var(--line-dark);box-shadow:0 14px 34px #181c2012}.metric{padding:16px}.metric span,.metric small{color:var(--muted);display:block}.metric span{letter-spacing:.7px;text-transform:uppercase;font-size:12px;font-weight:800}.metric strong{color:var(--blue);margin:7px 0 4px;font-family:-apple-system,BlinkMacSystemFont,"Source Sans 3",system-ui,sans-serif;font-size:40px;line-height:1;display:block}.panel-grid{grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:14px;margin-bottom:14px;display:grid}.panel-card{min-width:0;padding:18px}.span-2{min-width:0}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-head h2{font-size:20px}.card-head span{color:var(--muted);font-size:13px;font-weight:700}.selected-table-wrap,.matrix-wrap{animation:.38s cubic-bezier(.2,.8,.2,1) both contentReveal;overflow:auto}.selected-table tbody tr{animation:itemReveal .3s var(--row-delay,0s) ease both;transition:opacity .18s,transform .18s,background-color .18s}.selected-table tbody tr[draggable=true]{cursor:grab}.selected-table tbody tr.dragging{opacity:.28}.selected-table tbody tr.drag-target{box-shadow:inset 0 2px var(--blue);background:#31475d14;transform:translateY(3px)}.abundance-select{border:1px solid var(--line);min-width:104px;color:var(--ink);background:var(--surface);border-radius:8px;padding:7px 28px 7px 9px;font-size:13px;font-weight:700}.abundance-select:focus{border-color:var(--blue);outline:2px solid color-mix(in srgb, var(--blue) 18%, transparent)}.drag-handle{color:var(--line-dark);vertical-align:middle;margin-right:7px;font-size:16px;display:inline-block}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:10px}th{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:12px;font-weight:800}td small{color:var(--muted);font-size:12px;display:block}.fluor-dot{background:var(--dot);border-radius:50%;width:10px;height:10px;margin-right:7px;display:inline-block}.sign{text-transform:uppercase;border-radius:999px;justify-content:center;min-width:64px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.sign.good,.guidance.good{background:var(--good);color:var(--green)}.sign.warn,.guidance.warn{background:var(--warn);color:var(--gold)}.sign.bad,.guidance.bad{background:var(--bad);color:var(--red-dark)}.guidance-list{gap:9px;display:grid}.guidance-list.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.guidance{border-radius:var(--radius);padding:12px}.guidance b,.guidance span{display:block}.guidance span{margin-top:3px;font-size:13px;line-height:1.35}.segmented{border:1px solid var(--line);background:#f2f2f7;border-radius:7px;display:inline-flex;overflow:hidden}.segmented button{min-height:34px;color:var(--muted);background:0 0;border:0;padding:6px 12px;font-weight:800}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 6px #0000001f}.detail-title{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:13px;padding-bottom:12px;display:flex}.detail-title b,.detail-title small{display:block}.detail-title b{color:var(--navy);font-size:19px}.detail-title small{color:var(--muted)}.fluor-dot.large{width:18px;height:18px;margin-right:0}.detail-list{gap:8px;margin:0;animation:.38s cubic-bezier(.2,.8,.2,1) both contentReveal;display:grid}.detail-list div{border-bottom:1px solid var(--line);grid-template-columns:118px minmax(0,1fr);gap:10px;padding-bottom:8px;display:grid}.detail-list div:last-child{border-bottom:0;padding-bottom:0}.detail-list dt{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:800}.detail-list dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.35}.plot-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.spectral-layout{animation:.42s cubic-bezier(.2,.8,.2,1) both contentReveal}.workspace-revealed .workspace>*,.app-ready .workspace>*{animation:.58s cubic-bezier(.2,.8,.2,1) both workspaceReveal}.workspace-revealed .workspace>:nth-child(2),.app-ready .workspace>:nth-child(2){animation-delay:70ms}.workspace-revealed .workspace>:nth-child(3),.app-ready .workspace>:nth-child(3){animation-delay:.12s}.workspace-revealed .workspace>:nth-child(4),.app-ready .workspace>:nth-child(4){animation-delay:.17s}.workspace-revealed .workspace>:nth-child(5),.app-ready .workspace>:nth-child(5){animation-delay:.22s}.workspace-revealed .workspace>:nth-child(6),.app-ready .workspace>:nth-child(6){animation-delay:.27s}.plot-toolbar b,.plot-toolbar span{display:block}.plot-toolbar b{color:var(--navy)}.plot-toolbar span,.plot-toolbar div:last-child{color:var(--muted);font-size:13px}.scope-switch{border:1px solid var(--line);background:#f2f2f7;border-radius:7px;align-items:center;padding:2px;display:inline-flex}.scope-switch button{min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:4px 10px;font-size:13px;font-weight:800}.scope-switch button.active{color:var(--ink);background:#fff;box-shadow:0 1px 5px #00000024}.chart-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fbfbfd;position:relative;overflow:auto;box-shadow:inset 0 1px #ffffffbf}.spectral-tooltip{z-index:5;opacity:0;color:#fff;pointer-events:none;background:#17202af0;border:1px solid #ffffffa6;border-radius:8px;gap:2px;min-width:190px;padding:9px 11px;transition:opacity .14s,transform .14s;display:grid;position:absolute;transform:translateY(6px);box-shadow:0 12px 30px #0000002e}.spectral-tooltip.show{opacity:1;transform:translateY(0)}.spectral-tooltip span{color:#c7d0d5;font-size:11px}.conflict-inspector{border:1px solid var(--line-dark);background:linear-gradient(110deg,#f5eeeedb,#ffffffe6);border-radius:12px;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr) auto auto;align-items:center;gap:14px;margin-top:12px;padding:14px;animation:.38s cubic-bezier(.2,.8,.2,1) both contentReveal;display:grid;position:relative}.conflict-copy,.replacement-preview{gap:3px;display:grid}.conflict-copy>span,.replacement-preview>span{color:var(--red-dark);letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:800}.conflict-copy b,.replacement-preview b{color:var(--ink)}.conflict-copy b i{color:var(--muted);padding:0 5px;font-style:normal}.conflict-copy small,.replacement-preview small{color:var(--muted)}.legend-row.conflict-active{border-color:var(--line-dark);background:var(--bad);transform:translate(3px)}.matrix td[role=button]{cursor:pointer;transition:transform .16s,box-shadow .16s,filter .16s}.matrix td[role=button]:hover,.matrix td[role=button]:focus-visible{z-index:2;filter:saturate(1.12);outline:0;position:relative;transform:scale(1.09);box-shadow:0 8px 20px #17202a29}.report-header{display:none}canvas{background:#fbfbfd;width:100%;min-width:1240px;display:block}.channel-strip{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.channel-strip div{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}.channel-strip span{border-radius:999px;width:18px;height:5px}.spectral-legend{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 18px;margin-top:12px;display:grid}.legend-row{color:var(--muted);border:0;border-radius:0;grid-template-columns:26px 1fr 72px 52px;align-items:center;gap:7px;min-width:0;padding:4px 0;font-size:13px;display:grid}.legend-swatch{background:var(--dot);border-radius:999px;width:25px;height:3px}.legend-row b{color:var(--ink);text-overflow:ellipsis;overflow:hidden}.legend-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.legend-count{color:var(--muted);align-items:center;font-size:13px;font-weight:800;display:flex}.matrix th,.matrix td{text-align:center}.matrix tbody th{z-index:1;text-align:left;background:#fff;position:sticky;left:0}.matrix td{min-width:64px;font-weight:800}.matrix .self{background:var(--navy);color:#fff}.matrix .cool{color:var(--blue);background:#edf6fb}.matrix .mild{color:var(--green);background:#eef5e8}.matrix .warm{background:var(--warn);color:var(--gold)}.matrix .hot{background:var(--bad);color:var(--red-dark)}.empty-cell,.empty-state{color:var(--muted);text-align:center;padding:32px}.toast{z-index:200;opacity:0;background:var(--navy);color:#fff;box-shadow:var(--shadow);pointer-events:none;border-radius:7px;padding:11px 14px;transition:all .18s;position:fixed;bottom:20px;right:20px;overflow:hidden;transform:translateY(16px)}.toast.show{opacity:1;transform:translateY(0)}.toast:after{content:"";transform-origin:0;background:#b9c4cc;height:2px;position:absolute;inset:auto 0 0;transform:scaleX(0)}.toast.show:after{animation:1.8s linear both toastProgress}.project-overlay{z-index:115;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#17202a70;place-items:center;padding:22px;animation:.24s both overlayIn;display:grid;position:fixed;inset:0}.project-card{background:#f9f9f7;border:1px solid #ffffffb8;border-radius:18px;width:min(860px,100%);max-height:calc(100vh - 44px);padding:26px;animation:.42s cubic-bezier(.2,.8,.2,1) both projectCardIn;overflow:auto;box-shadow:0 32px 100px #11181e40}.project-head{align-items:flex-start}.project-head h2{letter-spacing:-.03em;font-size:clamp(30px,4vw,42px)}.project-intro{max-width:640px;color:var(--muted);margin:-2px 0 20px;line-height:1.5}.project-save-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.project-save-row .field{margin:0}.project-save-row .danger-btn:disabled{cursor:not-allowed;opacity:.4}.project-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin:9px 2px 16px;display:flex}.project-toolbar>.secondary-btn:disabled{cursor:not-allowed;opacity:.4}.project-shortcut{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.project-shortcut span{margin-right:3px}kbd{border:1px solid var(--line-dark);color:var(--ink);background:#fff;border-bottom-width:2px;border-radius:5px;padding:2px 6px;font:700 10px -apple-system,BlinkMacSystemFont,sans-serif}.saved-panels-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.saved-panel{border:1px solid var(--line);min-width:0;animation:savedPanelIn .42s var(--panel-delay,0s) cubic-bezier(.2, .8, .2, 1) both;background:#ffffffc7;border-radius:12px;padding:15px;transition:transform .2s,border-color .2s,box-shadow .2s}.saved-panel:hover{border-color:var(--line-dark);transform:translateY(-3px);box-shadow:0 14px 30px #17202a14}.saved-panel.shared-panel{background:linear-gradient(145deg,#edf6fbb8,#ffffffd1);border-color:#31475d59}.panel-sharing-note{border-left:3px solid var(--blue);background:#007aff0e;border-radius:0 7px 7px 0;gap:2px;margin:10px 0 2px;padding:8px 10px;display:grid}.panel-sharing-note.owner{border-left-color:var(--green);background:var(--good)}.panel-sharing-note b{font-size:11px}.panel-sharing-note span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.share-btn{color:var(--blue)}.share-experiment-dialog{z-index:4;background:#fffffffa;border:1px solid #ffffffc7;border-radius:17px;width:min(440px,100vw - 32px);padding:25px;animation:.36s cubic-bezier(.2,.8,.2,1) both projectCardIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 38px 110px #11181e4d}.share-experiment-dialog:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#17202a47;position:fixed;inset:-100vh -100vw}.share-experiment-dialog>.icon-btn{position:absolute;top:14px;right:14px}.share-dialog-icon{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:15px;font-size:20px;display:grid}.share-experiment-dialog h3{letter-spacing:-.025em;margin:0;font-size:27px}.share-experiment-dialog>p:not(.eyebrow){color:var(--muted);margin:8px 0 18px;line-height:1.45}.share-experiment-dialog .danger-btn{width:100%}.saved-panel-main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.saved-panel h3{color:var(--ink);margin:0;font-size:18px}.saved-panel-main div>span,.saved-panel p,.saved-panel-meta{color:var(--muted);font-size:12px}.saved-panel-main strong{color:var(--blue);text-align:right;font-size:28px;line-height:.9}.saved-panel-main strong small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin-top:4px;font-size:9px;display:block}.saved-panel p{min-height:34px;margin:12px 0;line-height:1.4}.saved-panel-meta,.saved-panel-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.saved-panel-meta{border-top:1px solid var(--line);padding-top:10px}.saved-panel-actions{margin-top:11px}.saved-panel-actions .secondary-btn{flex:1}.project-empty{border:1px dashed var(--line-dark);min-height:180px;color:var(--muted);text-align:center;border-radius:12px;grid-column:1/-1;place-items:center;gap:5px;display:grid}.project-empty b{color:var(--ink)}.command-overlay{z-index:125;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#17202a6b;place-items:start center;padding:min(15vh,130px) 20px 20px;animation:.18s both overlayIn;display:grid;position:fixed;inset:0}.command-card{background:#f9f9f7;border:1px solid #ffffffa6;border-radius:16px;width:min(650px,100%);max-height:min(680px,76vh);animation:.3s cubic-bezier(.2,.8,.2,1) both commandIn;overflow:hidden;box-shadow:0 34px 100px #0c12174d}.command-search{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 15px;display:grid}.command-search>span{color:var(--muted);font-size:24px}.command-search input{min-height:42px;box-shadow:none;background:0 0;border:0;padding:4px;font-size:20px}.command-label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;padding:12px 17px 7px;font-size:10px;font-weight:800}.command-list{max-height:calc(min(680px,76vh) - 140px);padding:0 8px 8px;overflow:auto}.command-list button{width:100%;color:var(--ink);text-align:left;animation:commandItemIn .28s var(--command-delay,0s) ease both;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.command-list button:hover,.command-list button:focus-visible{background:#31475d17;outline:0;transform:translate(3px)}.command-list button b,.command-list button small{display:block}.command-list button small{color:var(--muted);margin-top:2px;font-size:12px}.command-footer{border-top:1px solid var(--line);color:var(--muted);gap:15px;padding:8px 15px;font-size:10px;display:flex}.welcome-overlay{z-index:100;background:#f7f7f4;place-items:center;padding:24px;animation:.4s both welcomeFade;display:grid;position:fixed;inset:0;overflow:hidden}.database-overlay{z-index:110;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1d1d1f61;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.database-card{background:#fffffff5;border:1px solid #ffffffb3;border-radius:16px;width:min(680px,100%);max-height:calc(100vh - 44px);padding:24px;overflow:auto;box-shadow:0 28px 80px #0003}.database-card .card-head{align-items:flex-start}.database-card h2{font-size:30px}.database-intro{color:var(--muted);margin:12px 0 18px;line-height:1.5}.database-stats{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding:14px;display:grid}.database-stats strong{font-size:28px}.database-stats span,.database-stats small{color:var(--muted)}.database-import{grid-template-columns:1fr 1.4fr;gap:12px;margin-top:18px;display:grid}.database-import .field{margin-bottom:0}.database-note{border-left:3px solid var(--blue);color:var(--muted);background:#007aff0f;margin-top:14px;padding:11px 13px;font-size:13px;line-height:1.45}.database-note b{color:var(--ink)}.database-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.welcome-overlay.leaving{animation:.75s cubic-bezier(.75,0,.2,1) both welcomeOut}.welcome-card{z-index:1;text-align:center;width:min(920px,100%);min-height:560px;padding:28px;position:relative}.welcome-card h2{letter-spacing:-.045em;font-size:clamp(44px,8vw,76px);font-weight:650;line-height:.96}.welcome-card p:not(.eyebrow){max-width:390px;color:var(--muted);margin:16px auto 24px;line-height:1.45}.welcome-loading,.welcome-stage{place-content:center;display:grid;position:absolute;inset:0}.welcome-loading{color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;gap:24px;font-size:11px;font-weight:700;animation:2.5s forwards loadingStage}.spectral-loader{width:min(570px,82vw);height:auto;overflow:visible}.spectral-loader .detector-grid line{stroke:#d9d9d4;stroke-width:1px}.spectral-loader .spectrum{fill:none;stroke-width:3px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.55s cubic-bezier(.2,.8,.2,1) forwards spectrumDraw}.spectral-loader .spectrum-a{stroke:#293b4d}.spectral-loader .spectrum-b{stroke:#697f83;animation-delay:.12s}.spectral-loader .spectrum-c{stroke:#8b7d72;animation-delay:.24s}.spectral-loader .spectral-scan{stroke:#17202a;stroke-width:1.5px;opacity:.45;animation:1.7s cubic-bezier(.4,0,.2,1) .18s both spectralScan}.spectral-loader text{fill:#8a8c8d;letter-spacing:.6px;font-size:11px}.spectral-loader .axis-title{font-size:9px}.spectral-loading-status{width:min(570px,82vw);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;display:flex}.spectral-loading-status b{min-width:38px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.spectral-loading-progress{background:var(--line);border-radius:99px;width:min(570px,82vw);height:2px;overflow:hidden}.spectral-loading-progress i{border-radius:inherit;background:var(--navy);transform-origin:0;width:100%;height:100%;animation:2.2s cubic-bezier(.15,.75,.2,1) forwards spectralLoadingProgress;display:block;transform:scaleX(0)}.welcome-stage{width:100%;animation:.55s cubic-bezier(.2,.8,.2,1) both onboardingStageIn}.welcome-stage>h2{font-size:clamp(40px,7vw,68px)}.welcome-greeting-stage{opacity:1}.welcome-ambient{pointer-events:none;position:absolute;inset:0;overflow:hidden}.welcome-ambient>span{width:clamp(150px,18vw,260px);color:var(--navy);opacity:.035;position:absolute}.welcome-ambient svg{fill:none;stroke:currentColor;stroke-width:1.25px;width:100%}.welcome-ambient .eye,.welcome-selected-species .eye{fill:currentColor;stroke:none}.ambient-human{animation:8s ease-in-out infinite ambientFloat;bottom:-4vh;left:-4vw}.ambient-mouse{animation:9s ease-in-out 1.2s infinite reverse ambientFloat;top:-4vh;right:-3vw}.onboarding-progress{z-index:2;align-items:center;gap:7px;display:flex;position:absolute;top:2px;left:50%;transform:translate(-50%)}.onboarding-progress span{background:var(--line);border-radius:99px;width:30px;height:3px;transition:background .3s,transform .3s;overflow:hidden}.onboarding-progress span.active{background:var(--navy);transform:scaleX(1.08)}.onboarding-progress small{color:var(--muted);margin-left:6px;font-size:10px;font-weight:800}.onboarding-primary{background:var(--navy);color:#fff;border:0;border-radius:10px;justify-self:center;min-width:180px;padding:13px 18px;font-weight:800;box-shadow:0 16px 34px #17202a29}.onboarding-primary:hover{transform:translateY(-2px)}.onboarding-primary span{margin-left:8px;transition:transform .2s;display:inline-block}.onboarding-primary:hover span{transform:translate(4px)}.account-mode-switch{border:1px solid var(--line);background:var(--soft);border-radius:12px;gap:4px;width:min(390px,82vw);margin:18px auto 14px;padding:4px;display:flex}.account-mode-switch button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:9px 12px;font-weight:800}.account-mode-switch button.active{background:var(--surface);color:var(--navy);box-shadow:0 5px 14px #17202a14}.welcome-auth-form{text-align:left;gap:11px;width:min(390px,82vw);margin:0 auto;display:grid}.welcome-auth-form label{color:var(--muted);gap:5px;font-size:11px;font-weight:800;display:grid}.welcome-auth-form input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:9px;outline:none;padding:11px 12px}.welcome-auth-form input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #40505b1a}.welcome-auth-form .onboarding-primary{width:100%;margin-top:3px}.account-text-action{color:var(--muted);background:0 0;border:0;justify-self:center;font-size:11px;font-weight:800}.onboarding-back{color:var(--muted);background:0 0;border:0;justify-self:center;margin-top:20px;font-size:12px;font-weight:800}.welcome-species-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(650px,86vw);margin:8px auto 0;display:grid}.welcome-species-card{border:1px solid var(--line);min-height:252px;color:var(--ink);background:#ffffffb3;border-radius:18px;justify-items:center;padding:24px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #17202a09}.welcome-species-card:hover,.welcome-species-card.selected{border-color:var(--navy);background:#fff;transform:translateY(-6px);box-shadow:0 22px 55px #17202a1c}.welcome-species-card.confirming{animation:.42s cubic-bezier(.2,.8,.2,1) both speciesConfirm}.species-illustration{background:var(--soft);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative}.species-illustration svg,.welcome-selected-species svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:74px;height:74px;animation:3.2s ease-in-out infinite animalBreathe}.species-illustration .eye{fill:currentColor}.species-illustration i{background:var(--blue);opacity:.4;border-radius:50%;width:5px;height:5px;animation:2.6s ease-in-out infinite speciesParticle;position:absolute}.species-illustration i:first-of-type{top:14px;left:18px}.species-illustration i:nth-of-type(2){animation-delay:.7s;top:23px;right:14px}.species-illustration i:nth-of-type(3){animation-delay:1.3s;bottom:16px;right:22px}.welcome-species-card>b{margin-top:11px;font-size:23px}.welcome-species-card>small{color:var(--muted)}.welcome-species-card>em{color:var(--blue);align-self:end;margin-top:12px;font-size:12px;font-style:normal;font-weight:800}.welcome-selected-species{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:99px;justify-self:center;align-items:center;gap:8px;margin-bottom:12px;padding:6px 12px 6px 7px;font-size:11px;font-weight:800;display:inline-flex}.welcome-selected-species svg{width:28px;height:28px}.welcome-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(850px,90vw);margin:8px auto 0;display:grid}.welcome-action-card{border:1px solid var(--line);min-height:210px;color:var(--ink);text-align:left;background:#ffffffc2;border-radius:15px;align-content:start;padding:20px;transition:transform .22s,border-color .22s,box-shadow .22s;display:grid;position:relative;overflow:hidden}.welcome-action-card:hover{border-color:var(--line-dark);transform:translateY(-5px);box-shadow:0 18px 42px #17202a1a}.welcome-action-card:focus-visible,.welcome-species-card:focus-visible,.onboarding-primary:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 30%, transparent);outline-offset:3px}.welcome-action-card.primary{border-color:var(--navy);background:var(--navy);color:#fff}.action-icon{opacity:.78;border:1px solid;border-radius:50%;place-items:center;width:38px;height:38px;margin-bottom:24px;font-size:20px;transition:transform .25s;display:grid}.welcome-action-card:hover .action-icon{transform:rotate(8deg)scale(1.08)}.welcome-action-card b{font-size:18px}.welcome-action-card small{color:var(--muted);margin-top:8px;line-height:1.4}.welcome-action-card.primary small{color:#ffffffad}.welcome-action-card i{color:currentColor;align-self:end;margin-top:18px;font-size:11px;font-style:normal;font-weight:800}.upload-card{cursor:pointer}.upload-card input{opacity:0;width:1px;height:1px;position:absolute}.welcome-error{background:var(--bad);width:min(620px,86vw);color:var(--red-dark);border-radius:9px;margin:13px auto -5px;padding:9px 12px;font-size:12px;font-weight:700}.welcome-monogram{border:1px solid var(--line-dark);width:54px;height:54px;color:var(--navy);border-radius:50%;justify-content:center;justify-self:center;align-items:center;margin-bottom:22px;font-weight:800;display:flex}.welcome-greeting .secondary-btn{background:var(--navy);color:#fff;min-width:170px;box-shadow:none;justify-self:center;transition:transform .2s,background .2s}.welcome-greeting .secondary-btn:hover{background:#2c3741;transform:translate(4px)}.welcome-greeting .secondary-btn span{margin-left:8px}.app-footer{color:var(--muted);text-align:right;padding:18px 28px 24px;font-size:13px}@keyframes spectrumDraw{to{stroke-dashoffset:0}}@keyframes spectralScan{0%{opacity:0;transform:translate(0)}12%,82%{opacity:.45}to{opacity:0;transform:translate(680px)}}@keyframes spectralLoadingProgress{to{transform:scaleX(1)}}@keyframes itemReveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes contentReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes workspaceReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes projectCardIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes savedPanelIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes loadingStage{0%,68%{opacity:1;transform:scale(1)}to{opacity:0;visibility:hidden;transform:scale(.97)}}@keyframes greetingStage{to{opacity:1;transform:translateY(0)}}@keyframes onboardingStageIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes animalBreathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.025)}}@keyframes speciesParticle{0%,to{opacity:.18;transform:translateY(5px)scale(.7)}50%{opacity:.55;transform:translateY(-7px)scale(1)}}@keyframes speciesConfirm{45%{transform:translateY(-8px)scale(1.035)}to{opacity:.25;transform:translateY(0)scale(.98)}}@keyframes ambientFloat{0%,to{transform:translate(0,0)rotate(-2deg)}50%{transform:translate(12px,-18px)rotate(2deg)}}@keyframes drawerClose{0%{opacity:1;clip-path:inset(0);transform:perspective(700px)translateY(0)rotateX(0)scale(1)}to{opacity:.18;clip-path:inset(0 0 88% round 11px);transform:perspective(700px)translateY(-22px)rotateX(-3deg)scale(.975);box-shadow:0 1px 2px #17202a0d}}@keyframes drawerOpen{0%{opacity:.15;clip-path:inset(0 0 94% round 11px);transform:perspective(700px)translateY(-25px)rotateX(-4deg)scale(.975)}58%{opacity:1;clip-path:inset(0 round 11px);transform:perspective(700px)translateY(5px)rotateX(1deg)scale(1.008)}to{opacity:1;clip-path:inset(0);transform:perspective(700px)translateY(0)rotateX(0)scale(1)}}@keyframes boxRackIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes boxUnlock{0%{transform:translateY(0)scale(1)}45%{transform:translateY(5px)scale(.985)}to{transform:translateY(2px)scale(1.015);box-shadow:0 8px 18px #17202a24}}@keyframes boxTap{0%,to{transform:translateY(4px)}50%{transform:translateY(7px)scale(.985)}}@keyframes welcomeFade{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes welcomeOut{to{transform:translate(-100%);box-shadow:30px 0 80px #00000029}}@keyframes statusPulse{0%,to{box-shadow:0 0 0 3px #526b5d14}50%{box-shadow:0 0 0 6px #526b5d29}}@keyframes savingSpin{50%{opacity:.45;transform:scale(.45)}}@keyframes commandIn{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes commandItemIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}#app[data-theme=dark]{--navy:#e4ebef;--blue:#9eb4c5;--ink:#e6eaed;--muted:#9ba6ad;--soft:#202830;--surface:#1b2229;--line:#303a43;--line-dark:#44515b;--warn:#332f28;--bad:#36282c;--good:#26342e;--green:#92b09d;--gold:#c5ae7a;--red-dark:#d49aa4;--shadow:0 10px 30px #0000002e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] body{background:#12171c}#app[data-theme=dark] .sidebar,#app[data-theme=dark] .project-card,#app[data-theme=dark] .command-card,#app[data-theme=dark] .database-card{background:#181f25f7}#app[data-theme=dark] .metric,#app[data-theme=dark] .panel-card,#app[data-theme=dark] .help-tile,#app[data-theme=dark] .inventory-item,#app[data-theme=dark] .saved-panel,#app[data-theme=dark] input,#app[data-theme=dark] select,#app[data-theme=dark] .sync-status,#app[data-theme=dark] .project-save-row,#app[data-theme=dark] .species-picker button{background:#1c242be0}#app[data-theme=dark] .species-picker button.active{color:#17202a;background:#dce5ea;border-color:#dce5ea}#app[data-theme=dark] .source-box-shelf,#app[data-theme=dark] .inventory-drawer{background:linear-gradient(145deg,#0a0e1180,#232c34b8);border-color:#44515b;box-shadow:inset 0 1px 4px #0000004d}#app[data-theme=dark] .source-box{color:#dce5ea;background:linear-gradient(#29333c,#202830);border-color:#3b4650}#app[data-theme=dark] .source-box.active{color:#17202a;background:linear-gradient(#e9eef1,#cdd8de);border-color:#dce5ea}#app[data-theme=dark] .source-box.active small{color:#53636f}#app[data-theme=dark] .drawer-handle span{background:linear-gradient(#5c6973,#303b44)}#app[data-theme=dark] .selected-table tbody th,#app[data-theme=dark] .matrix tbody th,#app[data-theme=dark] .segmented button.active,#app[data-theme=dark] .scope-switch button.active,#app[data-theme=dark] .icon-btn.ghost,#app[data-theme=dark] kbd{color:var(--ink);background:#252e36}#app[data-theme=dark] .segmented,#app[data-theme=dark] .scope-switch,#app[data-theme=dark] .laser-list span,#app[data-theme=dark] .quick-chip{background:#202830}#app[data-theme=dark] .chart-wrap,#app[data-theme=dark] canvas{background:#151b21}#app[data-theme=dark] .conflict-inspector{background:linear-gradient(110deg,#36282ce6,#1c242bf0)}#app[data-theme=dark] .secondary-btn:not(.optimize-btn){color:#b9c9d4;background:#222b33}#app[data-theme=dark] .brand-mark,#app[data-theme=dark] .danger-btn,#app[data-theme=dark] .secondary-btn.optimize-btn{color:#17202a;background:#dce5ea}#app[data-theme=dark] .welcome-overlay{background:#12171c}#app[data-theme=dark] .welcome-card h2,#app[data-theme=dark] .welcome-monogram{color:#e6eaed}#app[data-theme=dark] .welcome-species-card,#app[data-theme=dark] .welcome-action-card:not(.primary),#app[data-theme=dark] .welcome-selected-species{color:#e6eaed;background:#1b2229db;border-color:#34404a}#app[data-theme=dark] .welcome-species-card:hover,#app[data-theme=dark] .welcome-species-card.selected{background:#1f2830;border-color:#aebbc4}#app[data-theme=dark] .account-mode-switch,#app[data-theme=dark] .share-experiment-dialog{color:#e6eaed;background:#1b2229f7;border-color:#34404a}#app[data-theme=dark] .saved-panel.shared-panel{background:linear-gradient(145deg,#1f2c35f0,#1b2229e6);border-color:#536570}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.inventory-list,.summary-grid,.panel-grid,.help-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.guidance-list.wide{grid-template-columns:1fr}.conflict-inspector{grid-template-columns:1fr auto}.conflict-copy,.replacement-preview{grid-column:1}}@media (width<=640px){.workspace{padding:18px}.workspace-head,.card-head{display:grid}.inventory-list,.summary-grid,.panel-grid,.help-strip,.builder-row{grid-template-columns:1fr}th,td{padding:8px}.detail-list div,.legend-row{grid-template-columns:1fr}.plot-toolbar{display:grid}.database-import,.database-stats{grid-template-columns:1fr}.database-actions>*{width:100%}.project-card{padding:18px}.project-save-row,.saved-panels-grid{grid-template-columns:1fr}.project-save-row .danger-btn{width:100%}.conflict-inspector{grid-template-columns:1fr}.conflict-inspector .danger-btn,.conflict-inspector .icon-btn{width:100%}.command-overlay{padding:12px}.command-card{max-height:calc(100vh - 24px)}.welcome-overlay{align-items:start;padding:14px;overflow-y:auto}.welcome-card{min-height:690px;padding:54px 4px 20px}.welcome-stage{position:relative;inset:auto}.welcome-stage>h2{font-size:42px}.welcome-species-grid,.welcome-action-grid{grid-template-columns:1fr;width:100%}.welcome-species-card,.welcome-action-card{min-height:0}.welcome-action-card{grid-template-columns:auto 1fr;column-gap:13px}.welcome-action-card .action-icon{grid-row:1/span 3;margin:0}.welcome-action-card i{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.welcome-loading{display:none}.welcome-stage{opacity:1;transform:none}}@media print{@page{size:A4 landscape;margin:12mm}*{box-shadow:none!important;transition:none!important;animation:none!important}html,body,#app,#app[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1d1d1f!important;background:#fff!important}.sidebar,.workspace-head,.help-strip,.builder-card,.panel-grid>.panel-card:last-child,.toast,.project-overlay,.database-overlay,.command-overlay,.welcome-overlay,.app-footer,.card-head .segmented,.plot-toolbar .scope-switch,.row-actions,.conflict-inspector{display:none!important}.app-shell{display:block}.workspace{padding:0}.report-header{border-bottom:2px solid #17202a;margin-bottom:8mm;padding-bottom:5mm;display:block}.report-header span{letter-spacing:1px;font-weight:800}.report-header h1{margin-top:2mm;font-size:28pt}.report-header p{color:#666;margin:2mm 0 0}.metric,.panel-card,#app[data-theme=dark] .metric,#app[data-theme=dark] .panel-card{break-inside:avoid;border-color:#ccc;background:#fff!important}.summary-grid{grid-template-columns:repeat(4,1fr)}.panel-grid{display:block}.panel-grid>.panel-card:first-child{margin-bottom:5mm}canvas{min-width:0;width:100%!important}.spectral-legend{grid-template-columns:repeat(4,1fr)}}
