:root{color:#211715;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#211715;--muted:#725f5b;--line:#ead1cc;--surface:#fff;--redis:#d92d20;--redis-dark:#8f1711;--redis-soft:#ffe1dc;--rose:#b42361;--rose-soft:#ffe4ef;--charcoal:#2b211f;--charcoal-soft:#efe7e4;--coral:#c75146;--coral-soft:#ffe0dc;--amber:#b7791f;--amber-soft:#fff1c7;--blue:#376ba5;--blue-soft:#dcecff;--shadow:0 16px 40px #59160f17;--layout-gap:14px;--sidebar-width:190px;--topbar-height:88px;background:#fff4f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{min-width:320px;margin:0;overflow:hidden}.app-frame{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr);height:100vh;min-height:0;display:grid;overflow:hidden}.app-sidebar{min-height:calc(100vh - var(--topbar-height));max-height:calc(100vh - var(--topbar-height));border-right:1px solid var(--line);padding:var(--layout-gap) 14px 22px;background:snow;grid-area:2/1;align-self:start;position:sticky;top:0;overflow-y:auto}.sidebar-nav{gap:8px;display:grid}.sidebar-nav-item{width:100%;color:var(--muted);background:0 0;border-color:#0000;justify-content:flex-start;font-weight:800}.sidebar-nav-item:hover:not(:disabled){border-color:var(--line);background:#fff4f1;transform:none}.sidebar-nav-item.is-active{border-color:var(--redis);background:var(--redis-soft);color:var(--redis-dark)}button,input{font:inherit}button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}button:hover:not(:disabled){border-color:#aab5b0;transform:translateY(-1px)}button:disabled{color:#9aa49f;cursor:not-allowed}input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fbfcfa;border-radius:8px;padding:0 12px}input:focus{border-color:var(--redis);outline:3px solid #d92d2024}.app-shell{overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;height:100%;min-height:0;padding:var(--layout-gap) var(--layout-gap) 36px;grid-area:2/2;margin:0 auto;overflow-y:auto}.app-shell,.app-sidebar,.crud-table,.cache-entry-field pre{scrollbar-width:thin;scrollbar-color:#e7b8b0 #fffafab8}.app-shell::-webkit-scrollbar{width:10px;height:10px}.app-sidebar::-webkit-scrollbar{width:10px;height:10px}.crud-table::-webkit-scrollbar{width:10px;height:10px}.cache-entry-field pre::-webkit-scrollbar{width:10px;height:10px}.app-shell::-webkit-scrollbar-track{background:#fffafab8;border-radius:999px}.app-sidebar::-webkit-scrollbar-track{background:#fffafab8;border-radius:999px}.crud-table::-webkit-scrollbar-track{background:#fffafab8;border-radius:999px}.cache-entry-field pre::-webkit-scrollbar-track{background:#fffafab8;border-radius:999px}.app-shell::-webkit-scrollbar-thumb{background:#e7b8b0;border:2px solid #fffafae6;border-radius:999px}.app-sidebar::-webkit-scrollbar-thumb{background:#e7b8b0;border:2px solid #fffafae6;border-radius:999px}.crud-table::-webkit-scrollbar-thumb{background:#e7b8b0;border:2px solid #fffafae6;border-radius:999px}.cache-entry-field pre::-webkit-scrollbar-thumb{background:#e7b8b0;border:2px solid #fffafae6;border-radius:999px}.app-shell::-webkit-scrollbar-thumb:hover{background:var(--coral)}.app-sidebar::-webkit-scrollbar-thumb:hover{background:var(--coral)}.crud-table::-webkit-scrollbar-thumb:hover{background:var(--coral)}.cache-entry-field pre::-webkit-scrollbar-thumb:hover{background:var(--coral)}.app-shell::-webkit-scrollbar-corner{background:0 0}.app-sidebar::-webkit-scrollbar-corner{background:0 0}.crud-table::-webkit-scrollbar-corner{background:0 0}.cache-entry-field pre::-webkit-scrollbar-corner{background:0 0}.topbar{min-height:var(--topbar-height);border-bottom:1px solid var(--line);background:linear-gradient(snow 0%,#fff4f1 100%);grid-area:1/1/auto/-1;justify-content:space-between;align-items:center;gap:20px;padding:0 20px;display:flex}.eyebrow{color:var(--redis);text-transform:uppercase;font-size:.75rem;font-weight:800}h1,h2{margin:0;line-height:1.1}h1{margin-top:8px;font-size:2rem}h2{margin-top:5px;font-size:1.08rem}.brand-title{align-items:center;gap:14px;min-width:0;display:flex}.cache-aside-mark{filter:drop-shadow(0 10px 18px #d92d2038);flex:none;width:48px;height:48px}.cache-layer-back{fill:#ffa399}.cache-layer-mid{fill:#ef5548}.cache-layer-front{fill:var(--redis)}.alert{margin:0 0 var(--layout-gap);border:1px solid var(--coral);background:var(--coral-soft);color:#7c241e;border-radius:8px;padding:12px 14px}.benchmark-summary span{color:var(--muted);font-size:.78rem;display:block}.workspace{gap:var(--layout-gap);grid-template-columns:1fr;align-items:start;min-width:0;margin-top:0;display:grid}.presentation-grid{grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px;display:grid}.surface{border:1px solid var(--line);background:var(--surface);min-width:0;max-width:100%;box-shadow:var(--shadow);border-radius:8px;padding:16px}.benchmark-panel{position:relative}.benchmark-loading{z-index:5;color:var(--redis-dark);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#fff4f1db;border-radius:8px;align-content:center;place-items:center;gap:8px;display:grid;position:absolute;inset:0}.benchmark-loading strong,.benchmark-loading span{display:block}.benchmark-loading span{color:var(--muted);font-size:.88rem}.benchmark-spinner{border:4px solid #f5c9c2;border-top-color:var(--redis);border-radius:50%;width:34px;height:34px;animation:.78s linear infinite benchmark-spin}@keyframes benchmark-spin{to{transform:rotate(360deg)}}@keyframes refresh-spin{to{transform:rotate(360deg)}}.section-heading{justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-bottom:18px;display:flex}.section-heading.compact{margin-bottom:14px}.module-note{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.module-note div{border:1px solid var(--line);background:snow;border-radius:8px;min-height:78px;padding:12px}.module-note strong{color:var(--redis-dark);text-transform:uppercase;font-size:.76rem;display:block}.module-note span{color:var(--muted);margin-top:6px;font-size:.88rem;line-height:1.45;display:block}.focus-note{border:1px solid var(--line);background:snow;border-radius:8px;gap:8px;margin-bottom:16px;padding:12px 14px;display:grid}.focus-note p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.4}.focus-note strong{color:var(--redis-dark)}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.status-pill{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;min-height:70px;padding:12px}.status-pill span{color:var(--muted);font-size:.76rem;display:block}.status-pill strong{margin-top:5px;font-size:1.05rem;display:block}.flow-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.flow-step{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;min-height:118px;padding:13px}.flow-step>span{background:var(--redis);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.82rem;font-weight:900;display:grid}.flow-step strong,.flow-step small{display:block}.flow-step strong{margin-top:11px}.flow-step small{color:var(--muted);margin-top:6px;line-height:1.4}.flow-step.tone-miss>span{background:var(--coral)}.flow-step.tone-fill>span{background:var(--amber)}.flow-step.tone-hit>span{background:var(--redis-dark)}.talking-points{gap:10px;display:grid}.talking-points div{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;padding:13px}.talking-points strong,.talking-points span{display:block}.talking-points span{color:var(--muted);margin-top:5px;line-height:1.42}.inline-controls{align-items:end;gap:10px;display:flex}.inline-controls label{color:var(--muted);font-size:.78rem;font-weight:700}.inline-controls input{width:100px;margin-top:5px;display:block}.primary-button{border-color:var(--redis);background:var(--redis);color:#fff}.primary-button:hover:not(:disabled){border-color:var(--redis-dark);background:var(--redis-dark)}.secondary-button{color:var(--redis-dark);background:snow;border-color:#e3c4bf}.secondary-button:hover:not(:disabled){border-color:var(--redis);background:var(--redis-soft)}.refresh-cache-button.is-refreshing{border-color:var(--redis);background:var(--redis-soft);color:var(--redis-dark)}.refresh-cache-button.is-refreshing svg{animation:.72s linear infinite refresh-spin}.comparison-bars{gap:12px;display:grid}.bar-row{grid-template-columns:92px 1fr;align-items:start;gap:12px;display:grid}.bar-row>span{color:var(--muted);font-weight:700}.bar-content{gap:6px;display:grid}.bar-metric span{color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.2}.bar-metric{flex-wrap:wrap;gap:6px 14px;min-height:18px;display:flex}.bar-metric strong{color:var(--ink);font-size:.82rem}.bar-track{background:#edf1ec;border-radius:999px;height:24px;overflow:hidden}.bar-fill{border-radius:inherit;min-width:3px;height:100%;transition:width .24s}.bar-fill.no-cache{background:var(--coral)}.bar-fill.with-cache{background:var(--redis)}.benchmark-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.benchmark-summary div{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;min-height:74px;padding:13px}.benchmark-summary strong{margin-top:5px;font-size:1.2rem;display:block}.benchmark-details{gap:0;margin-top:14px;display:grid}.benchmark-table-meta{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.benchmark-table-meta span{border:1px solid var(--line);color:var(--muted);background:snow;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.benchmark-detail-body{opacity:0;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .28s,margin-top .28s,opacity .18s,transform .22s;display:grid;transform:translateY(-6px)}.benchmark-detail-body.is-open{opacity:1;grid-template-rows:1fr;margin-top:10px;transform:translateY(0)}.benchmark-detail-content{min-height:0;overflow:hidden}.benchmark-table-grid{border:1px solid var(--line);background:#fff4f1;border-radius:8px;grid-template-columns:repeat(2,minmax(420px,1fr));align-items:start;gap:10px;width:100%;min-width:0;padding:8px;transition:grid-template-columns .22s,opacity .18s,transform .18s;animation:.22s ease-out table-area-in;display:grid}.benchmark-table-grid.has-single-table{grid-template-columns:1fr}.benchmark-collapsed-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:0;display:flex}.benchmark-collapsed-actions .table-toggle{min-width:170px;min-height:34px;animation:.18s ease-out table-button-in}.details-toggle{width:36px;min-height:34px;color:var(--muted);background:0 0;border-color:#0000;margin-left:auto;padding:0}.details-toggle:hover:not(:disabled){border-color:var(--line);background:snow;transform:none}.benchmark-table-card{transform-origin:top;background:snow;border:1px solid #f0c6bf;border-radius:8px;gap:8px;min-width:0;padding:8px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s,opacity .18s;animation:.24s ease-out table-card-in;display:grid}.table-toggle{min-height:34px;color:var(--redis-dark);background:#fff4f1;border-color:#f0c6bf;justify-content:space-between;padding:0 12px}.table-toggle:hover:not(:disabled){border-color:var(--line);background:#ffe9e4;transform:none}.table-toggle strong{color:var(--redis-dark);font-size:.88rem}.benchmark-search-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;width:100%;min-width:0;display:grid;overflow:visible}.benchmark-search-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;animation:.22s ease-out table-content-in;overflow:hidden}.benchmark-search-card header{border-bottom:1px solid var(--line);background:#fff4f1;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 12px;display:flex}.benchmark-search-card header div,.benchmark-search-card header span{min-width:0;display:block}.benchmark-search-card header strong{color:var(--redis-dark)}.benchmark-search-card header span{color:var(--muted);margin-top:3px;font-size:.76rem}.benchmark-search-card header b{color:var(--ink);flex:none;font-size:.86rem}.benchmark-search-items{display:grid}.benchmark-search-item{border-bottom:1px solid #eee0dc;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:34px;padding:8px 10px;display:grid}.benchmark-search-item:last-child{border-bottom:0}.benchmark-search-item span{color:#4f5f73;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;overflow:hidden}.benchmark-search-item strong{color:var(--ink);white-space:nowrap;font-size:.82rem}.benchmark-empty-state{border:1px solid var(--line);color:var(--muted);background:snow;border-radius:8px;padding:14px;font-size:.88rem}.cache-panel{position:relative}.cache-panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.cache-panel-actions button,.crud-panel-actions button{min-width:136px}.crud-panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.student-cache-toggle{min-width:174px;color:var(--muted);background:snow;border-color:#e3c4bf;justify-content:flex-start}.student-cache-toggle:hover:not(:disabled){border-color:var(--redis);background:#fff4f1;transform:none}.student-cache-toggle>span:last-child{color:var(--muted);text-align:left;gap:2px;font-size:.72rem;font-weight:800;line-height:1.12;display:grid}.student-cache-toggle strong{color:var(--ink);font-size:.9rem}.switch-track{background:#ead1cc;border-radius:999px;flex:none;width:38px;height:22px;transition:background .16s;position:relative}.switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #59160f33}.student-cache-toggle.is-on{background:var(--redis-soft);border-color:#f0c6bf}.student-cache-toggle.is-on .switch-track{background:var(--redis)}.student-cache-toggle.is-on .switch-thumb{transform:translate(16px)}.student-cache-toggle.compact{justify-content:center;min-width:104px;min-height:36px;padding:0 10px}.student-cache-toggle.compact>span:last-child{font-size:.78rem;display:block}.student-cache-toggle.compact .switch-track{width:32px;height:18px}.student-cache-toggle.compact .switch-thumb{width:12px;height:12px;top:3px;left:3px}.student-cache-toggle.compact.is-on .switch-thumb{transform:translate(14px)}.cache-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.cache-overview div{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;min-height:66px;padding:12px}.cache-overview span,.cache-overview strong{display:block}.cache-overview span{color:var(--muted);font-size:.76rem}.cache-overview strong{color:var(--ink);margin-top:5px;font-size:1rem}.cache-entry-list{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:10px;display:grid}.cache-entry{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;min-width:0;overflow:hidden}.cache-entry header{border-bottom:1px solid var(--line);background:snow;justify-content:flex-end;align-items:center;gap:12px;min-height:34px;padding:7px 12px;display:flex}.cache-entry-field{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;display:grid}.cache-entry-field+.cache-entry-field{border-top:1px solid #eee0dc}.cache-entry-field>span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.cache-entry-field code{min-width:0;color:var(--redis-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:800;overflow:hidden}.cache-entry header span{color:var(--muted);flex:none;font-size:.76rem;font-weight:700}.cache-entry-field pre{color:#4f3b37;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere;max-height:230px;margin:0;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.76rem;line-height:1.5;overflow:auto}.cache-empty-state{border:1px dashed var(--line);min-height:90px;color:var(--muted);text-align:center;background:snow;border-radius:8px;place-items:center;padding:16px;font-size:.88rem;display:grid}.cache-panel .primary-button:disabled,.cache-panel .secondary-button:disabled{border-color:var(--line);background:#f2e9e7}.cache-panel .refresh-cache-button.is-refreshing:disabled{border-color:var(--redis);background:var(--redis-soft);color:var(--redis-dark)}.crud-panel{min-height:600px}.crud-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.crud-form,.crud-table-shell{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;min-width:0}.crud-form{gap:12px;padding:14px;display:grid}.crud-form-heading{margin-bottom:4px}.crud-form label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:800;display:grid}.crud-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.crud-form-actions,.crud-row-actions,.crud-table-toolbar{align-items:center;gap:8px;display:flex}.crud-form-actions{flex-wrap:wrap;margin-top:4px}.crud-form-actions button{flex:130px}.crud-table-shell{overflow:hidden}.crud-table-toolbar{border-bottom:1px solid var(--line);background:snow;justify-content:space-between;min-height:46px;padding:10px 12px}.crud-table-toolbar span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.crud-table{overflow-x:auto}.crud-table-row{border-bottom:1px solid #eee0dc;grid-template-columns:58px minmax(220px,1.3fr) minmax(190px,1fr) 82px 70px 118px 102px;align-items:center;gap:10px;min-width:920px;padding:10px 12px;display:grid}.crud-table-row:last-child{border-bottom:0}.crud-table-head{min-height:38px;color:var(--muted);text-transform:uppercase;background:#fff4f1;font-size:.72rem;font-weight:900}.crud-table-row>span,.crud-table-row>strong{min-width:0}.crud-student-main{gap:3px;min-width:0;display:grid}.crud-student-main strong,.crud-student-main span,.crud-table-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crud-student-main span,.crud-table-row>span{color:var(--muted);font-size:.82rem}.crud-row-actions{justify-content:flex-end}.icon-button{width:38px;min-height:36px;padding:0}.danger-button{border-color:var(--redis)}.crud-empty-state{min-width:100%;color:var(--muted);text-align:center;padding:18px}@keyframes table-area-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes table-card-in{0%{opacity:0;transform:translateY(-8px)scaleY(.98)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes table-content-in{0%{opacity:0;transform:scaleY(.96)}to{opacity:1;transform:scaleY(1)}}@keyframes table-button-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.consistency-panel{position:relative}.n8n-fullscreen-toggle{min-height:42px}.consistency-panel.is-n8n-fullscreen{z-index:50;border-radius:0;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px;display:grid;position:fixed;inset:0;overflow:hidden}.consistency-panel.is-n8n-fullscreen .section-heading{margin-bottom:0}.tradeoff-workflow-shell{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;min-height:620px;overflow:hidden}.tradeoff-workflow-shell iframe{background:#fff;border:0;width:100%;height:min(76vh,760px);min-height:620px;display:block}.tradeoff-workflow-placeholder{width:100%;height:min(76vh,760px);min-height:620px;color:var(--muted);background:linear-gradient(90deg,#fffafaf0,#fff4f1d1),repeating-linear-gradient(0deg,#0000 0 17px,#ead1cc5c 18px),repeating-linear-gradient(90deg,#0000 0 17px,#ead1cc5c 18px);place-items:center;font-size:.84rem;font-weight:800;display:grid}.consistency-panel.is-n8n-fullscreen .tradeoff-workflow-shell{min-height:0}.consistency-panel.is-n8n-fullscreen .tradeoff-workflow-shell iframe{height:100%;min-height:0}@media (width<=1120px){.presentation-grid,.workspace,.crud-layout{grid-template-columns:1fr}.status-grid,.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.benchmark-table-grid{grid-template-columns:1fr;margin-inline:0}}@media (width<=760px){.app-frame{--topbar-height:78px;--layout-gap:10px;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr}.app-sidebar{height:auto;min-height:0;padding:var(--layout-gap) 12px;grid-area:2/1;position:static}.sidebar-nav{gap:8px;display:flex}.sidebar-nav-item{justify-content:center;min-width:84px}.app-shell{padding:var(--layout-gap) 8px 32px;grid-area:3/1}.topbar{min-height:var(--topbar-height);grid-area:1/1;padding:0 12px}.topbar,.section-heading,.inline-controls{flex-direction:column;align-items:stretch}h1{font-size:1.62rem}.inline-controls input,.inline-controls button{width:100%}.cache-panel-actions{justify-content:stretch;width:100%}.cache-panel-actions button{flex:150px}.module-note,.status-grid,.flow-grid,.cache-overview,.crud-form-grid,.benchmark-summary,.benchmark-table-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr;gap:8px}.bar-row strong,.bar-metric{text-align:left}.benchmark-search-list{grid-template-columns:1fr;overflow:visible}.cache-entry-list{grid-template-columns:1fr}.cache-entry header{justify-content:flex-start}.cache-entry-field{grid-template-columns:1fr;gap:5px}.n8n-fullscreen-toggle{align-self:flex-start}.tradeoff-workflow-shell,.tradeoff-workflow-shell iframe{min-height:560px}}
