:root{--g-behaviour:#c2410c;--g-creation:#8b3d8f;--g-structure:#0b7285;--g-architecture:#94600a}:root[data-theme=dark]{--g-behaviour:#fb923c;--g-creation:#d391d6;--g-structure:#4fc3d3;--g-architecture:#e3a94b}[data-group=behaviour]{--accent:var(--g-behaviour)}[data-group=creation]{--accent:var(--g-creation)}[data-group=structure]{--accent:var(--g-structure)}[data-group=architecture]{--accent:var(--g-architecture)}.slider{flex-direction:column;gap:4px;display:flex}.slider .label{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;display:flex}.slider .label strong{font:600 13px var(--mono);color:var(--ink);letter-spacing:0}.btn-row{flex-wrap:wrap;gap:8px;display:flex}select{font:14px var(--sans);color:var(--ink);background:var(--sheet);border:1px solid var(--rule-strong);border-radius:0;padding:7px 10px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:13px var(--sans);color:var(--ink-2);background:var(--sheet);border:1px solid var(--rule);cursor:pointer;padding:5px 10px}.chip:hover{border-color:var(--accent)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.caret{background:var(--accent);vertical-align:-.15em;width:2px;height:1em;margin-left:3px;display:inline-block}@media (prefers-reduced-motion:no-preference){.caret{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}}.send-row{gap:8px;display:flex}.check{font:12px var(--mono);color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.check input{width:auto;accent-color:var(--accent)}.stage{width:100%;height:auto;display:block;overflow:visible}.stage .obj rect{fill:var(--sheet);stroke:var(--ink);stroke-width:1.5px;transition:fill .25s,stroke .25s}.stage .obj.client rect{fill:var(--paper)}.stage .obj.iface rect{fill:var(--paper);stroke-dasharray:5 4;stroke:var(--ink-3)}.stage .obj.hot rect{fill:var(--accent-tint);stroke:var(--accent);stroke-width:2.5px}.stage .obj.ok rect{fill:color-mix(in srgb, var(--ok) 12%, var(--sheet));stroke:var(--ok);stroke-width:2.5px}.stage .obj.bad rect{fill:var(--bad-tint);stroke:var(--bad);stroke-width:2.5px}.stage .obj.off{opacity:.38}.stage .obj.clickable{cursor:pointer}.stage .obj.clickable:hover rect{stroke:var(--accent)}.stage .obj-label{fill:var(--ink);font:600 13px var(--mono);text-anchor:middle}.stage .obj-sub{fill:var(--ink-3);font:10.5px var(--mono);text-anchor:middle}.stage .obj.iface .obj-sub{font-style:italic}.stage .edge line{stroke:var(--ink-3);stroke-width:1.5px}.stage .edge.dashed line:not(.hit){stroke-dasharray:5 4}.stage .edge.off{opacity:.35}.stage .edge.ok line:not(.hit){stroke:var(--ok)}.stage .edge.bad line:not(.hit){stroke:var(--bad);stroke-dasharray:5 4}.stage .edge .hit{stroke:#0000;stroke-width:16px;cursor:pointer}.stage .edge.clickable:hover line:not(.hit){stroke:var(--accent);stroke-width:2.5px}.stage .edge-label{fill:var(--ink-3);font:10.5px var(--mono);text-anchor:middle;paint-order:stroke;stroke:var(--sheet);stroke-width:4px}.stage .iface-dot{fill:var(--sheet);stroke:var(--accent);stroke-width:2px}.stage .arrowhead{fill:var(--ink-3)}.stage .flight circle{fill:var(--accent);stroke:var(--sheet);stroke-width:2px}.stage .flight.ok circle{fill:var(--ok)}.stage .flight.bad circle{fill:var(--bad)}.stage .flight text{fill:var(--ink);font:600 11.5px var(--mono);text-anchor:middle;paint-order:stroke;stroke:var(--sheet);stroke-width:5px;stroke-linejoin:round}.stage-grid{align-items:start}.stage-grid>.card{min-width:0}.msg-log{font:12px var(--mono);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.msg-log li{border-left:2px solid var(--accent);background:var(--paper);flex-wrap:wrap;gap:4px 10px;padding:5px 8px;display:flex}.msg-log li:first-child{background:var(--accent-tint)}.msg-log li.ok{border-left-color:var(--ok)}.msg-log li.bad{border-left-color:var(--bad)}.msg-log .who{color:var(--ink-3)}.msg-log code{overflow-wrap:anywhere}.msg-log .empty-log{border-left-color:var(--rule);color:var(--ink-3);background:0 0}.code-view{margin-top:48px}.code-switch{margin-bottom:12px;display:none}.code-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.code-card{flex-direction:column;gap:10px;min-width:0;margin:0;display:flex}.code-card figcaption{color:var(--ink-2);font-size:14px}.code-card figcaption .status{margin-right:6px}.code{font:12.5px/1.6 var(--mono);color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-left:3px solid var(--accent);tab-size:2;margin:0;padding:14px 16px;overflow-x:auto}.code-card.before .code{border-left-color:var(--bad)}.code-card.after .code{border-left-color:var(--ok)}.tk-kw{color:#8b3d8f;font-weight:600}.tk-str{color:#1f6f43}.tk-num{color:#b35c00}.tk-com{color:var(--ink-3);font-style:italic}.tk-type{color:#2f4fb5}.tk-fn{color:#0b7285}:root[data-theme=dark] .tk-kw{color:#d391d6}:root[data-theme=dark] .tk-str{color:#7cc493}:root[data-theme=dark] .tk-num{color:#f0a35e}:root[data-theme=dark] .tk-type{color:#8ea2ff}:root[data-theme=dark] .tk-fn{color:#4fc3d3}@media (width<=1100px){.code-switch{display:inline-flex}.code-pair{grid-template-columns:minmax(0,1fr)}.code-view[data-side=after] .code-card.before,.code-view[data-side=before] .code-card.after{display:none}}.avoid-wrap+.wrap-up{border-top:0;margin-top:0}.avoid{border-top:1px solid var(--rule);background:color-mix(in srgb, var(--bad) 5%, var(--sheet));grid-column:1/-1;padding:18px 24px!important}.avoid p{max-width:80ch;font:400 17px/1.45 var(--serif);margin:0}.wrap-up .avoid .card-title{color:var(--bad)}.families{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.family strong{font:400 24px/1.1 var(--serif);color:var(--accent)}.family p{color:var(--ink-2);margin:0}.family ul{flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.family a{font:500 12px var(--mono);border-bottom:1px solid var(--rule);text-decoration:none}.family a:hover{border-color:var(--accent);color:var(--accent)}.solid{border:1px solid var(--rule-strong);background:var(--sheet);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.solid li{border-left:1px solid var(--rule);flex-direction:column;gap:6px;padding:18px;display:flex}.solid li:first-child{border-left:0}.solid-letter{font:400 48px/1 var(--serif);color:var(--accent)}.solid strong{font:400 19px/1.2 var(--serif)}.solid p{color:var(--ink-2);margin:0;font-size:14px}.meter{flex-direction:column;gap:6px;display:flex}.meter-head{justify-content:space-between;align-items:baseline;display:flex}.meter-head .label{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.meter-head strong{font:400 34px/1 var(--serif)}.meter-bar{background:var(--rule);height:10px}.meter-bar span{height:100%;transition:width .3s;display:block}.meter-bar .bad{background:var(--bad)}.meter-bar .mid{background:var(--g-architecture)}.meter-bar .ok{background:var(--ok)}.ripple p{margin:4px 0 0}.ripple.is-bad{border-left:3px solid var(--bad);background:var(--bad-tint);padding:10px 14px}.ripple.is-ok{border-left:3px solid var(--ok);background:color-mix(in srgb, var(--ok) 10%, var(--sheet));padding:10px 14px}.chip small{font:10px var(--mono);opacity:.75;margin-left:6px}@media (width<=1100px){.families,.solid{grid-template-columns:minmax(0,1fr)}.solid li{border-left:0;border-top:1px solid var(--rule);grid-template-columns:48px minmax(0,1fr);column-gap:14px;display:grid}.solid li:first-child{border-top:0}.solid-letter{grid-row:span 2}}.table.cart caption{text-align:left;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-bottom:6px}.table.cart td{padding:6px 12px 6px 0}.table.cart td.qty{align-items:center;gap:10px;width:auto;display:flex}.table.cart td.qty strong{text-align:center;min-width:1.2em;font:600 14px var(--mono)}.totals dd{text-align:right}.big-num{color:var(--accent);font:400 28px/1 var(--serif)!important}.make{border-top:1px solid var(--rule);padding-top:12px}.make .btn{align-self:flex-start}.compare-strats td:first-child{width:auto}.widgets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.widget{gap:10px;padding:14px}.widget.is-off{opacity:.55;border-style:dashed}.widget .card-head{flex-wrap:wrap}.widget p{margin:0}.spark{width:100%;height:44px}.spark polyline{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.alert-fired{color:var(--bad);background:var(--bad-tint);padding:6px 10px;font-weight:600}.mini-log{font:12px var(--mono);margin:0;padding:0;list-style:none}.widgets+.msg-log,.stage-grid+.msg-log{margin-top:16px}.editor{min-height:3.2em;font:400 22px/1.4 var(--serif);background:var(--paper);border:1px solid var(--rule-strong);overflow-wrap:anywhere;padding:12px 14px}.stacks{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.stack ol{border:1px solid var(--rule);background:var(--paper);border-top:0;flex-direction:column;gap:4px;min-height:120px;margin:6px 0 0;padding:8px;list-style:none;display:flex}.stack li{font:12px var(--mono);background:var(--sheet);border:1px solid var(--rule);overflow-wrap:anywhere;padding:6px 8px}.stack li.top{border-color:var(--accent);background:var(--accent-tint)}.stack li.empty{color:var(--ink-3);background:0 0;border-style:dashed}.state-now{flex-direction:column;gap:2px;display:flex}.state-now strong{font:400 34px/1.1 var(--serif);color:var(--accent)}.flags ul{font:12px var(--mono);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:6px 0 10px;padding:0;list-style:none;display:grid}.flags li{border:1px solid var(--rule);padding:5px 8px}.flags li.on{border-color:var(--accent);background:var(--accent-tint)}.events .btn.allowed{border-color:var(--ok);color:var(--ok)}.request-bar{flex-wrap:wrap;gap:12px 20px;display:flex}.response{border-left:3px solid var(--ok);background:var(--paper);flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:10px 14px;display:flex}.response strong{font:400 28px/1 var(--serif)}.response.is-bad{border-left-color:var(--bad)}.response .notice{flex:1 0 100%}.pipeline{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pipeline li{border:1px solid var(--rule);border-left:3px solid var(--accent);background:var(--paper);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.pipeline li>div:first-child{flex:180px;min-width:0}.pipeline li.is-off{opacity:.5;border-left-color:var(--rule)}.pipeline p{margin:0}.pipe-btns{gap:4px;display:flex}.caller-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.caller-row strong{overflow-wrap:anywhere;font-size:13px}.outbox{font:12px var(--mono);flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.outbox li{border-left:2px solid var(--ok);background:var(--paper);overflow-wrap:anywhere;padding:6px 8px}.outbox li.bad{border-left-color:var(--bad);color:var(--bad);background:var(--bad-tint)}.chip.mono{font-family:var(--mono);font-size:12px}.test-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.test-list li{border:1px solid var(--rule);border-left:3px solid var(--rule);background:var(--paper);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 10px;display:flex}.test-list li>div{flex:200px;min-width:0}.test-list li.is-ok{border-left-color:var(--ok)}.test-list li.is-bad{border-left-color:var(--bad);background:var(--bad-tint)}.lab-stats strong{font-size:14px}.translation dd code{overflow-wrap:anywhere;font-size:12px}.facade-grid{margin-top:8px}.onion{width:100%;height:auto;display:block}.onion rect{fill:var(--sheet);stroke:var(--ink-3);stroke-width:1.5px;transition:fill .2s,stroke .2s}.onion .core rect{fill:var(--accent-tint);stroke:var(--accent)}.onion .calling rect{stroke:var(--accent);stroke-width:3px;fill:var(--accent-tint)}.onion .returning rect{stroke:var(--ok);stroke-width:3px;fill:color-mix(in srgb, var(--ok) 10%, var(--sheet))}.onion .ring-label{fill:var(--ink);font:600 12.5px var(--mono)}.onion .ring-value{fill:var(--ok);font:600 12.5px var(--mono);text-anchor:end}.photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.photo{font:13px var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;display:flex}.photo span{font-size:30px;line-height:1}.photo:hover:not(:disabled){border-color:var(--accent)}.photo:disabled{opacity:.45;cursor:default}.shown-photo{vertical-align:middle;font-size:28px;font-style:normal}.tree,.tree ul{margin:0;padding:0;list-style:none}.tree-row{width:100%;font:14px var(--sans);color:var(--ink);text-align:left;border:0;border-bottom:1px solid var(--rule);background:0 0;align-items:center;gap:8px;padding-top:6px;padding-bottom:6px;padding-right:10px;transition:background .2s;display:flex}button.tree-row{cursor:pointer;font-weight:500}button.tree-row:hover{background:var(--accent-tint)}.tree-row.sel{box-shadow:inset 3px 0 0 var(--accent)}.tree-name{overflow-wrap:anywhere;flex:1;min-width:0}.tree-size{font:12px var(--mono);color:var(--ink-3);white-space:nowrap}.tree-row.waiting{background:color-mix(in srgb, var(--accent) 6%, transparent)}.tree-row.calling{background:var(--accent-tint);outline:2px solid var(--accent);outline-offset:-2px}.tree-row.returning{background:color-mix(in srgb, var(--ok) 14%, transparent);outline:2px solid var(--ok);outline-offset:-2px}.tree-row.answered .tree-size{color:var(--ok);font-weight:600}.call-trace{min-height:8em;font:12px var(--mono);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.call-trace li{border-left:2px solid var(--accent);padding:3px 8px}.call-trace li.return{border-left-color:var(--ok);color:var(--ok)}.classes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.class-box{border:1px solid var(--rule);background:var(--paper);padding:10px 12px}.class-box strong{font:600 13px var(--mono)}.class-box ul{font:12px var(--mono);color:var(--ink-2);margin:6px 0 0;padding:0;list-style:none}.class-box.is-bad{border-color:var(--bad);background:var(--bad-tint)}.class-box.is-ok{border-color:var(--ok)}.move-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.move-row code{overflow-wrap:anywhere;font-size:13px}.layer-stack{flex-direction:column;align-items:center;gap:6px;display:flex}.layer-stack .layer{width:min(100%,320px);font:12px var(--mono);text-align:center;border:1px dashed var(--accent);background:var(--accent-tint);padding:8px}.layer-stack .layer.caller{border-style:solid;border-color:var(--ink);background:var(--paper)}.impls{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.impls span{font:12px var(--mono);border:1px solid var(--ink);background:var(--sheet);padding:6px 10px}.verdict{font:400 18px/1.4 var(--serif);border-left:3px solid var(--ok);background:color-mix(in srgb, var(--ok) 8%, var(--sheet));margin:0;padding:12px 14px}.verdict.premature,.verdict.missing{border-left-color:var(--bad);background:var(--bad-tint)}.verdict.heavy{border-left-color:var(--g-architecture);background:var(--accent-tint)}@media (width<=720px){.widgets,.stacks,.classes{grid-template-columns:minmax(0,1fr)}.caller-row{grid-template-columns:minmax(0,1fr) auto}.caller-row strong{grid-column:1/-1}}@media (pointer:coarse){.photo,.tree-row{min-height:44px}}.main>.note,.main>.msg-log{margin-top:24px}.card>.label{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
