:root,.lock-app:not(.dark-mode){color-scheme:light;--background: #f7f7f4;--surface: #ffffff;--surface-soft: #fafaf7;--text: #181818;--muted: #6f6f6f;--border: #eceae4;--accent: #f4b544;--accent-text: #80540b;--accent-soft: #fff5e2;--success: #47775a;--success-soft: #eef6ef;--danger: #ab3f38;--focus: #a16b0c;--shadow-card: 0 3px 18px #28231503, 0 1px 3px #28231502;--radius-card: 22px;--radius-control: 12px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-ui: Inter, Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Consolas, monospace}.lock-app.dark-mode{color-scheme:dark;--background: #171918;--surface: #222523;--surface-soft: #2a2d29;--text: #f2f2eb;--muted: #b0b5ad;--border: #3a3f38;--accent-text: #f3c976;--accent-soft: #383022;--success: #abd1b1;--success-soft: #2a3b2e;--danger: #ee9b91;--focus: #f4b544;--shadow-card: 0 3px 18px #0000000d}:root{color-scheme:normal;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:0;background:var(--background)}button,textarea,select{font:inherit}button,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent-text);outline-offset:4px}.lock-app{--panel: var(--surface);--inner-panel: var(--surface-soft);--warning: #e8ba6d;--info: #9ebbd3;--console: #1b211f;--accent-contrast: #352607;color-scheme:dark;min-height:100vh;background:var(--background);color:var(--text);font:14px/1.6 var(--font-ui);-webkit-font-smoothing:antialiased}.lock-app:not(.dark-mode){--panel: var(--surface);--inner-panel: var(--surface-soft);--warning: #80540b;--info: #426e8b;--console: #f6f6f1;--accent-contrast: #352607;color-scheme:light}.lock-topbar{min-height:88px;display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:16px 20px;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--border);background:var(--panel)}.lock-brand{display:flex;align-items:center;gap:11px;min-width:0}.lock-brand-copy{min-width:0}.lock-brand-copy .eyebrow{white-space:nowrap}.brand-status{display:flex;align-items:center;gap:6px;margin-top:5px;color:var(--muted);font-size:12px;line-height:18px}.lock-mark{width:36px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid transparent;border-radius:12px;background:var(--accent);color:#352607;font-size:17px}.eyebrow,.section-kicker,.group-label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1.3}.lock-topbar .eyebrow{font-size:10px;line-height:14px}.lock-topbar h1{margin:2px 0 0;font-size:20px;line-height:26px;font-weight:650;letter-spacing:-.035em}.lock-topbar-spacer{flex:1}.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.topbar-button,.reset-button,.scenario-actions button,.console-actions button,.guide-actions button{min-height:42px;border:1px solid var(--border);border-radius:12px;padding:9px 15px;background:var(--inner-panel);color:var(--text);cursor:pointer;font-size:14px;font-weight:550}.header-actions .topbar-button,.header-actions .reset-button{min-height:42px;padding:9px 15px;background:var(--panel);color:var(--text)}.header-actions .topbar-button:hover,.header-actions .reset-button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.topbar-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.topbar-button:hover,.subtle-button:hover,.scenario-actions button:hover,.console-actions button:hover,.flow-toggle:hover,.clock-button:hover{border-color:var(--accent);color:var(--accent-text)}.scenario-actions button:first-child,.console-actions button:first-child,.guide-actions button:last-child{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.scenario-actions button:first-child:hover,.console-actions button:first-child:hover,.guide-actions button:last-child:hover{background:#ffc65f;border-color:#ffc65f;color:#352607}.sim-badge{color:var(--muted);font-size:12px;white-space:nowrap}.sim-badge span,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent)}.lock-layout{max-width:1840px;margin:0 auto;padding:20px 24px 36px;display:grid;grid-template-columns:232px minmax(580px,1fr) 336px;gap:16px}.lock-sidebar,.lock-monitor,.panel,.scenario-banner{border:1px solid var(--border);border-radius:22px;background:var(--panel);box-shadow:var(--shadow-card)}.lock-sidebar,.lock-monitor{align-self:start;position:sticky;top:108px;padding:16px}.lock-center{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}.lock-center>*{min-width:0}.sidebar-heading,.panel-heading,.monitor-head,.session-head,.guide-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.scenario-groups{display:grid;gap:18px;margin-top:20px}.group-label{margin:0 0 7px 2px}.scenario-group{display:grid;gap:4px}.scenario-card{display:flex;align-items:flex-start;gap:9px;width:100%;padding:10px 8px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.scenario-card:hover,.scenario-card.active{border-color:var(--border);background:var(--accent-soft)}.scenario-card.active{box-shadow:inset 3px 0 0 var(--accent)}.scenario-icon{color:var(--accent-text);font-size:17px;line-height:1}.scenario-card strong,.scenario-card small{display:block}.scenario-card strong{font-size:13px}.scenario-card small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}.sidebar-note{margin-top:20px;padding-top:14px;border-top:1px solid var(--border)}.sidebar-note strong{font-size:12px}.sidebar-note p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.scenario-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-left:3px solid var(--accent)}.scenario-banner>div:first-child{flex:1 1 280px;min-width:0}.scenario-banner h2{margin:4px 0;font-size:20px;line-height:1.2}.scenario-banner p{margin:0;color:var(--muted);line-height:1.45}.scenario-actions{display:flex;flex:1 1 300px;flex-wrap:wrap;justify-content:flex-end;min-width:0;gap:6px}.scenario-actions button:disabled,.console-actions button:disabled,.guide-actions button:disabled{opacity:.45;cursor:not-allowed}.panel{padding:16px}.panel-heading{margin-bottom:13px}.panel-heading h2,.monitor-head h2{margin:5px 0 0;font-size:15px;line-height:1.25}.legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}.legend-item{display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%}.dot.committed{background:var(--info)}.dot.pending{background:var(--warning)}.read-flow{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--inner-panel)}.read-flow-title{color:var(--accent-text);font-size:11px;font-weight:750;letter-spacing:.06em;white-space:nowrap}.read-step{display:flex;align-items:center;gap:7px;min-width:0;flex:1;padding:6px 7px;border-radius:12px;opacity:.68}.read-step.active{opacity:1;background:var(--panel)}.read-step b{display:grid;place-items:center;flex:0 0 auto;width:23px;height:23px;border-radius:4px;background:var(--border);color:var(--text);font-size:12px}.read-step.active b{background:var(--accent);color:var(--accent-contrast)}.read-step span{min-width:0}.read-step strong,.read-step small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.read-step strong{font-size:10px;letter-spacing:.06em}.read-step small{margin-top:2px;color:var(--muted);font-size:12px}.read-flow>i{color:var(--muted);font-style:normal;font-weight:900}.step-badge{display:inline-grid;place-items:center;width:19px;height:19px;margin-right:5px;border-radius:4px;background:var(--accent);color:var(--accent-contrast);font-size:11px;font-weight:900;letter-spacing:0}.flow-panel{padding-bottom:14px}.flow-panel-heading{align-items:center;flex-wrap:wrap}.flow-toggle,.clock-button{border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);cursor:pointer;font-weight:550}.flow-toggle{padding:7px 10px;font-size:14px}.flow-caption{margin:-3px 0 12px;color:var(--muted);font-size:13px;line-height:1.5}.flow-table-wrap{max-width:100%;overflow-x:auto;padding-bottom:2px}.flow-table{min-width:700px;overflow:hidden;border:1px solid var(--border);border-radius:12px}.flow-row{display:grid;grid-template-columns:56px repeat(4,minmax(0,1fr));border-top:1px solid var(--border)}.flow-row:first-child{border-top:0}.flow-header{border-top:0;background:var(--inner-panel)}.flow-header>span{padding:9px 8px;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em}.flow-time-head{border-right:1px solid var(--border)}.flow-time{display:flex;align-items:flex-start;padding:12px 8px;border-right:1px solid var(--border);color:var(--muted);font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.flow-cell{display:grid;align-content:start;gap:4px;min-height:84px;padding:10px 9px;border:0;border-left:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;text-align:left}.flow-cell:hover:not(:disabled){background:var(--inner-panel)}.flow-cell:disabled{cursor:default}.flow-cell.empty{place-items:center;align-content:center;color:var(--border);font-size:18px}.flow-cell strong{font-size:12px;letter-spacing:.03em}.flow-cell small{display:block;overflow-wrap:anywhere;white-space:normal;color:var(--accent-text);font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.flow-cell em{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.4;font-style:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.flow-cell.success{background:color-mix(in srgb,var(--success) 8%,var(--panel))}.flow-cell.warning{background:color-mix(in srgb,var(--warning) 10%,var(--panel))}.flow-cell.danger{background:color-mix(in srgb,var(--danger) 10%,var(--panel))}.flow-empty{padding:20px;color:var(--muted);font-size:13px;text-align:center}.lock-app table{width:100%;border-collapse:collapse}.lock-app th{padding:9px 8px;border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;letter-spacing:.08em;text-align:left;white-space:nowrap}.lock-app td{padding:11px 8px;border-bottom:1px solid var(--border);font-size:13px;white-space:nowrap}.table-wrap,.lock-table-wrap{max-width:100%;overflow:auto}.locked-row{background:color-mix(in srgb,var(--accent) 7%,var(--panel))}.salary-value{font-variant-numeric:tabular-nums}.pending-value{display:inline-flex;margin-left:8px;color:var(--warning);font-weight:800}.pending-value em{margin-left:3px;padding:1px 3px;border:1px solid currentColor;border-radius:4px;font-size:10px;font-style:normal}.ownership{display:flex;align-items:center;gap:5px}.lock-symbol{color:var(--accent-text)}.ownership small{margin-left:4px;color:var(--warning);font-size:12px}.muted,.row-footnote,.mode-note,.monitor-legend,.sim-clock{color:var(--muted)}.row-footnote,.mode-note,.monitor-legend{font-size:12px;line-height:1.55}.row-footnote{margin-top:12px}.insight-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px}.insight-row>*{min-width:0}.status-chip{padding:5px 7px;border:1px solid var(--border);border-radius:999px;background:var(--inner-panel);color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.07em;white-space:nowrap}.status-chip.waiting{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:var(--accent-soft);color:var(--warning)}.status-chip.deadlock{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--panel));color:var(--danger)}.status-chip.running,.status-chip.committed,.status-chip.rolled_back{border-color:color-mix(in srgb,var(--success) 35%,var(--border));background:var(--success-soft);color:var(--success)}.session-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.session-summary div,.mini-lines div{display:grid;gap:4px;min-width:0}.session-summary span,.mini-lines span{color:var(--muted);font-size:11px;letter-spacing:.07em}.session-summary strong,.mini-lines strong{overflow-wrap:anywhere;font-size:12px}.last-change{margin-top:15px;padding-top:12px;border-top:1px solid var(--border)}.last-change strong{font-size:12px}.last-change p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.console-state{color:var(--accent-text);font-size:11px;font-weight:800}.mini-lines{display:grid;gap:11px}.mode-note{margin:15px 0 0;padding-top:11px;border-top:1px solid var(--border)}.consoles-panel{padding-bottom:13px}.session-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.session-card{min-width:0;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--inner-panel);cursor:pointer}.session-card:hover,.session-card.selected{border-color:var(--accent)}.session-card.selected{box-shadow:inset 3px 0 0 var(--accent)}.session-head{align-items:center;flex-wrap:wrap}.session-head>div{min-width:0}.session-tag{display:inline-grid;place-items:center;width:27px;height:22px;margin-right:5px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--accent-text);font-weight:750;font-size:12px}.session-head strong{font-size:12px}.session-head small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.console-output{height:88px;overflow:auto;margin:10px 0;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--console);color:var(--success);font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.session-card textarea{width:100%;min-height:72px;box-sizing:border-box;resize:vertical;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.session-card textarea:disabled{opacity:.7;cursor:not-allowed}.console-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.console-actions button{min-height:32px;padding:6px 8px;font-size:14px}.subtle-button{background:transparent!important;color:var(--muted)!important}.timeline-list{display:grid;gap:6px}.timeline-event{display:grid;grid-template-columns:44px 34px 120px minmax(0,1fr);align-items:baseline;gap:8px;padding:7px 8px;border-left:2px solid var(--border);font-size:13px}.timeline-event>span:last-child{overflow-wrap:anywhere}.timeline-event.success{border-color:var(--success)}.timeline-event.warning{border-color:var(--warning)}.timeline-event.danger{border-color:var(--danger)}.timeline-time,.timeline-session{color:var(--muted);font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.timeline-event strong{font-size:12px}.timeline-event>span:last-child{color:var(--muted)}.empty-copy{color:var(--muted);font-size:13px}.sim-clock{font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.clock-button{margin-left:6px;padding:3px 6px;font:14px ui-monospace,SFMono-Regular,Consolas,monospace}.monitor-head{align-items:center}.monitor-tabs{display:flex;padding:2px;border:1px solid var(--border);border-radius:12px}.monitor-tabs button{padding:6px 8px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;font-weight:550}.monitor-tabs button.active{background:var(--accent-soft);color:var(--accent-text)}.lock-table{font-size:11px}.lock-table th{padding:8px 5px;font-size:10px}.lock-table td{padding:8px 5px;font-size:12px}.type-pill{padding:3px 4px;border:1px solid var(--border);border-radius:4px;font-size:10px;font-weight:900}.type-pill.tx{border-color:color-mix(in srgb,var(--danger) 65%,var(--border));color:var(--danger)}.type-pill.tm{border-color:color-mix(in srgb,var(--info) 65%,var(--border));color:var(--info)}.wait-row{background:color-mix(in srgb,var(--warning) 10%,var(--panel))}.empty-cell{padding:22px 0!important;color:var(--muted);text-align:center!important}.monitor-legend{margin-top:13px;padding-top:12px;border-top:1px solid var(--border)}.monitor-legend p{margin:3px 0}.blocking-tree{min-height:260px}.tree-caption{margin-bottom:18px;color:var(--muted);font-size:13px}.tree-edge{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto 12px}.tree-edge button{padding:8px 18px;border:1px solid var(--border);border-radius:12px;background:var(--inner-panel);color:var(--text);cursor:pointer;font-weight:750}.tree-edge button:hover{border-color:var(--accent)}.tree-edge button.wait-node{border-color:color-mix(in srgb,var(--warning) 65%,var(--border));color:var(--warning)}.tree-edge span{color:var(--muted)}.tree-empty{padding:58px 15px;color:var(--muted);text-align:center}.tree-empty div{color:var(--accent-text);font-size:34px}.tree-empty p{font-size:13px}.deadlock-panel{margin-top:15px;padding:12px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--danger) 8%,var(--panel))}.deadlock-heading{display:flex;gap:7px;margin-bottom:10px;color:var(--danger)}.deadlock-panel>div:not(.deadlock-heading){display:grid;gap:4px;padding:7px 0;border-top:1px solid color-mix(in srgb,var(--danger) 25%,var(--border))}.deadlock-panel span{color:var(--muted);font-size:11px;letter-spacing:.08em}.deadlock-panel strong{font-size:12px}.deadlock-panel pre{margin:0;color:var(--text);white-space:pre-wrap;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.deadlock-panel p{color:var(--muted);font-size:12px;line-height:1.45}.monitor-footer{display:flex;align-items:center;gap:8px;margin-top:15px;padding-top:13px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.4}.site-footer{max-width:1840px;margin:0 auto;padding:0 24px 28px;color:var(--muted);font-size:13px;line-height:1.6}.guide-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#171918b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.guide-modal{width:min(520px,100%);padding:26px;border:1px solid var(--border);border-radius:22px;background:var(--panel);color:var(--text);box-shadow:0 24px 70px #00000038}.guide-top{color:var(--muted);font-size:11px}.guide-icon{display:grid;place-items:center;width:46px;height:46px;margin:23px 0 18px;border:1px solid transparent;border-radius:12px;background:var(--accent);color:#352607;font-size:24px}.guide-modal h2{margin:0 0 13px;font-size:24px;line-height:1.2}.guide-modal p{min-height:76px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}.guide-route{display:grid;gap:7px;margin-top:18px}.guide-route>div{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--border);border-radius:12px;background:var(--inner-panel);opacity:.68}.guide-route>div.current{border-color:var(--accent);opacity:1}.guide-route b{display:grid;place-items:center;width:24px;height:24px;border-radius:4px;background:var(--border);color:var(--text)}.guide-route .current b{background:var(--accent);color:var(--accent-contrast)}.guide-route strong,.guide-route small{display:block}.guide-route strong{font-size:12px;letter-spacing:.05em}.guide-route small{margin-top:2px;color:var(--muted);font-size:13px}.guide-dots{display:flex;gap:5px;margin:22px 0}.guide-dots span{width:8px;height:5px;border-radius:4px;background:var(--border)}.guide-dots span.active{width:28px;background:var(--accent)}.guide-actions{display:flex;align-items:center;justify-content:space-between}.guide-actions button{color:var(--text)}.guide-actions button:last-child{color:#352607}.guide-actions .subtle-button{border-color:transparent}@media(max-width:1250px){.lock-layout{grid-template-columns:210px minmax(0,1fr)}.lock-monitor{grid-column:1 / -1;position:static}.session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lock-monitor .lock-table-wrap{max-height:240px}}@media(max-width:1080px){.lock-topbar{flex-wrap:wrap}.lock-topbar-spacer{display:none}.header-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}}@media(max-width:820px){.lock-topbar{align-items:flex-start;flex-direction:column;flex-wrap:nowrap;padding:16px 20px;gap:20px}.lock-topbar-spacer{display:none}.lock-brand{width:100%}.lock-brand-copy{display:flex;flex-direction:column;align-items:flex-start}.lock-brand-copy .eyebrow{line-height:1.1}.lock-brand-copy h1{margin:0;line-height:26px}.lock-brand-copy .brand-status{margin-top:2px;line-height:18px}.header-actions{width:100%;margin-left:0;justify-content:flex-start}.lock-layout{display:flex;flex-direction:column;padding:12px}.lock-layout>*{min-width:0;width:100%}.lock-sidebar,.lock-monitor{position:static}.scenario-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.scenario-card{padding:8px 5px}.scenario-card small{display:none}.scenario-card strong{font-size:12px}.insight-row,.session-grid{grid-template-columns:1fr}.scenario-banner{align-items:flex-start;flex-direction:column}.scenario-actions{justify-content:flex-start;width:100%}.read-flow{flex-wrap:wrap;gap:5px}.read-flow-title{width:100%}.read-step{flex:1 1 28%;padding:5px}.read-flow>i{display:none}.read-step small{font-size:11px}.timeline-event{grid-template-columns:42px 30px 1fr}.timeline-event>span:last-child{grid-column:3}.lock-topbar h1{font-size:20px;line-height:26px}.site-footer{padding:0 12px 22px}}@media(max-width:520px){.lock-brand-copy .eyebrow{white-space:normal}.scenario-groups{display:block}.scenario-group{margin-bottom:14px}.session-summary{grid-template-columns:repeat(2,1fr)}.guide-modal{padding:21px}.guide-modal h2{font-size:21px}.flow-table{min-width:640px}}.lock-topbar{width:calc(100% - 48px);max-width:1792px;margin:12px auto 0;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-card)}@media(max-width:760px){.lock-topbar{width:calc(100% - 24px)}}.learning-panel{border-top:3px solid var(--accent)}.lesson-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lesson-heading h2{margin:6px 0 14px;font-size:19px;line-height:1.4}.lesson-progress{flex-shrink:0;color:var(--muted);font-variant-numeric:tabular-nums}.lesson-next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.lesson-sql{margin:8px 0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--inner-panel);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 ui-monospace,Consolas,monospace}.learning-panel p{margin:6px 0}.lesson-next p{color:var(--muted)}.learning-panel button,.lab-guide button{border:1px solid var(--border);border-radius:12px;padding:9px 14px;min-height:42px;font:inherit;color:var(--text);background:var(--inner-panel);cursor:pointer}.learning-panel .lesson-primary,.lab-guide .lesson-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:700}.learning-panel button:hover,.lab-guide button:hover{border-color:var(--accent)}.lesson-live{margin-top:16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--inner-panel)}.lesson-live p{font-size:13px}.lesson-complete{padding:12px 14px;border-radius:12px;background:var(--success-soft)}.lesson-complete>strong{color:var(--success)}.lesson-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin:14px 0}.lesson-links a{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px;padding:4px 0}.lesson-reference{border-top:1px solid var(--border);padding-top:10px}.lesson-tools{margin-top:10px}.lesson-tools p{font-size:13px;color:var(--muted)}.lesson-tools button{margin-top:8px}.learning-panel button:disabled{opacity:.45;cursor:not-allowed}summary{cursor:pointer}summary:focus-visible{outline:3px solid var(--accent-text);outline-offset:4px;border-radius:4px}.lesson-reference dl,.guide-reading{margin:12px 0;display:grid;gap:12px}.lesson-reference dt,.guide-reading dt{font-weight:650}.lesson-reference dd,.guide-reading dd{margin:3px 0 0;color:var(--muted)}.lesson-footnote,.library-hint{color:var(--muted);font-size:12px;line-height:1.6}.lesson-caution,.waiting-help{border-left:3px solid var(--accent);padding:8px 10px;background:var(--accent-soft);color:var(--accent-text);font-size:13px}.scenario-actions .batch-run{background:var(--inner-panel);border-color:var(--border);color:var(--text)}.scenario-actions .batch-run:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.mobile-scenario-picker{display:none}.console-help,.sql-reference{color:var(--muted);font-size:13px;margin:0 0 12px}.sql-reference pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,Consolas,monospace}.session-tag{cursor:pointer}.session-head strong,.session-head small,.session-summary strong,.lock-table td{font-family:ui-monospace,Consolas,monospace}.flow-cell em{display:block;overflow:visible}#lesson,#transaction-flow,#row-state,#lock-monitor,#session-consoles,#event-timeline{scroll-margin-top:150px}.lab-guide{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--border);border-radius:22px;background:var(--panel);color:var(--text);box-shadow:0 24px 70px #00000038}.lab-guide::backdrop{background:#171918b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lab-guide .guide-top{align-items:center}.lab-guide .guide-top>strong{font-size:13px}.lab-guide .guide-top button{font-size:22px;padding:0;width:42px;flex-shrink:0}.guide-topics{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.guide-topics button{padding:6px 10px;font-size:12px}.guide-topics button[aria-current]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.lab-guide h2{margin:18px 0 12px;font-size:23px;line-height:1.35}.lab-guide p,.lab-guide li{line-height:1.65}.lab-guide p{color:var(--muted)}.lab-guide ul{padding-left:22px}.guide-example{padding:14px;border-radius:12px;background:var(--accent-soft)}.guide-example p{margin:5px 0 0}.guide-walkthrough{display:grid;gap:12px;list-style:none;padding:0}.guide-walkthrough li{border:1px solid var(--border);border-radius:12px;padding:12px}.guide-walkthrough code{display:block;white-space:normal;overflow-wrap:anywhere;margin:8px 0;font:13px/1.6 ui-monospace,Consolas,monospace}.guide-walkthrough p{margin:0;font-size:13px}.guide-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;margin-top:20px;border-top:1px solid var(--border)}.guide-bottom>span{color:var(--muted);font-size:12px}.guide-bottom>div{display:flex;gap:8px}@media(max-width:1400px){.lock-layout{grid-template-columns:210px minmax(0,1fr)}.lock-monitor{grid-column:1 / -1;position:static}.session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.lock-topbar{position:static}.lock-sidebar{padding:12px 16px}.lock-sidebar .sidebar-heading,.scenario-groups,.lock-sidebar .sidebar-note,.library-hint{display:none}.mobile-scenario-picker{display:grid;gap:5px;color:var(--muted);font-size:12px}.mobile-scenario-picker select{width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--inner-panel);color:var(--text);font-size:14px}.scenario-banner>div:first-child,.scenario-actions{flex:auto}.scenario-actions{justify-content:flex-start}.session-grid{grid-template-columns:minmax(0,1fr)}#lesson,#transaction-flow,#row-state,#lock-monitor,#session-consoles,#event-timeline{scroll-margin-top:16px}}@media(max-width:520px){.lesson-heading{flex-wrap:wrap;gap:0}.lesson-progress{margin-bottom:12px}.lesson-next{grid-template-columns:minmax(0,1fr);gap:10px}.lesson-next .lesson-primary{width:100%}.lab-guide{padding:16px}.lab-guide h2{font-size:20px}}.dba-header.dba-header{box-sizing:border-box;display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between;gap:var(--space-4) var(--space-5);min-height:94px;padding:var(--space-4) var(--space-5);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);font-family:var(--font-ui)}.dba-header :is(.brand,.lock-brand,.header-identity){display:flex;align-items:center;gap:var(--space-3);min-width:0}.dba-header :is(.brand-mark,.lock-mark){display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent-text);font:650 22px/1 var(--font-ui)}.dba-header :is(.brand-kicker,.eyebrow){margin:0;color:var(--muted);font:650 10px/14px var(--font-ui);letter-spacing:.07em;white-space:normal}.dba-header :is(h1,.brand-title){margin:0;padding:0;color:var(--text);font:650 20px/26px var(--font-ui);letter-spacing:-.035em;overflow-wrap:anywhere}.dba-header :is(.brand-sub,.brand-status,.header-description,.brand p){display:block;margin:0;color:var(--muted);font:400 12px/18px var(--font-ui);letter-spacing:0}.dba-header :is(.brand-copy,.lock-brand-copy,.brand>div,.header-identity>div:last-child){min-width:0}.dba-header :is(.header-actions,.top-actions,.utilities,.topbar-actions){display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);max-width:none;margin:0}.dba-header.dba-header :is(button,a,select){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:42px;height:42px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text);box-shadow:none;font:500 14px/20px var(--font-ui);letter-spacing:0;text-decoration:none;white-space:nowrap;gap:6px}.dba-header.dba-header :is(button,a,select):hover{background:var(--surface-soft);border-color:var(--muted);color:var(--text)}.dba-header :is(button,a,select):focus-visible{outline:2px solid var(--focus);outline-offset:3px}.dba-header button:disabled{opacity:.5;cursor:not-allowed}.dba-header :is(.clock,.mode-control){color:var(--muted);font-size:12px}.dba-header .mode-control{order:1}.dba-header :is(.lock-topbar-spacer,.topbar-spacer){display:none}.dba-header .header-brand-row{flex:0 1 auto;min-width:0}:is(main,.workspace):has(>.dba-header){padding-top:var(--space-3)}.workspace>.dba-header{width:calc(100% + 8px);margin-inline:-4px}@media(min-width:761px)and (max-width:1050px){.workspace>.dba-header{width:calc(100% - 16px);margin-inline:8px}}@media(max-width:1100px){.dba-header.dba-header{align-items:flex-start}.dba-header :is(.header-actions,.top-actions,.utilities,.topbar-actions){justify-content:flex-start}}@media(max-width:760px){.dba-header.dba-header{flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.dba-header>:is(.brand,.lock-brand,.header-brand-row){width:100%}:is(main,.workspace)>.dba-header{width:calc(100% - 4px);margin-inline:2px}.dba-header :is(.header-actions,.top-actions,.utilities,.topbar-actions){width:100%}}
