:root{--canvas:#f8f9f6;--panel:#fdfdfb;--ink:#28342f;--muted:#78817a;--line:#e3e7e1;--green:#426b59;--accent:#395e4e;--soft:#eaf0e9;--serif:Georgia,'Times New Roman',serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-family:var(--sans);color:var(--ink);font-synthesis:none;background:var(--canvas)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button{border:0}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[data-leaf]:focus-visible{outline:2px solid #6a8e78;outline-offset:4px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 288px;min-height:100dvh}.playground{height:100dvh;min-height:540px;position:relative;overflow:hidden}.canvas-header{position:absolute;inset:34px 38px auto;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.title-line{display:flex;align-items:center;gap:13px}.title-line>svg{height:23px;width:23px;fill:var(--canvas);stroke:var(--green);stroke-width:1.4}.title-line h1{font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:-.8px;margin:0}.role-label{font-size:11px;color:var(--muted);letter-spacing:.01em}#tree{height:100%;width:100%;display:block;touch-action:none;user-select:none}.tree-edge{stroke:#b3bdb1;stroke-width:1.6;fill:none;stroke-linecap:round}.edge-hit{stroke:transparent;stroke-width:18;fill:none}.edge-label{font:10px var(--mono);fill:#8b908b;opacity:.65;pointer-events:none}.edge-group:hover .edge-label,.edge-group.is-snapped .edge-label{opacity:1}.edge-group.is-snapped .edge-label{fill:#68776c}.snap-mark{fill:none;stroke:#95a28f;stroke-width:1;stroke-linecap:round;opacity:0;pointer-events:none;transition:opacity .16s}.is-snapped .snap-mark{opacity:.8}.branch-node{fill:#f8f9f6;stroke:#9ca99c;stroke-width:1.4}.root-node{fill:#71826f}.root-label{fill:#899286;font:italic 14px var(--serif)}.leaf-hit{fill:transparent;stroke:none}.leaf-halo{fill:#e5ede3;opacity:0;transition:opacity .16s}.leaf-node{fill:var(--canvas);stroke:var(--green);stroke-width:1.7;transition:fill .16s}.leaf-group{cursor:ns-resize;outline:none}.leaf-group[data-locked="true"]{cursor:pointer}.leaf-group:hover .leaf-halo,.leaf-group:focus-visible .leaf-halo,.leaf-group.is-selected .leaf-halo{opacity:1}.leaf-group:hover .leaf-node,.leaf-group.is-selected .leaf-node{fill:#e4ece2}.leaf-value{fill:#3b5d49;font:14px var(--mono);letter-spacing:-.3px;pointer-events:none}.leaf-y{fill:#929c8f;font:italic 14px var(--serif)}.miner{fill:#446b57;stroke:var(--canvas);stroke-width:1.3}.miner.in-motion{fill:#8eaa70;stroke:#f8f9f6;stroke-width:1.7}.canvas-footer{position:absolute;inset:auto 32px 25px 38px;display:flex;align-items:center;justify-content:space-between;gap:16px}.interaction-hint{display:flex;gap:10px;align-items:center;color:#838b80;font-size:11px;letter-spacing:.01em}.drag-icon{font-size:19px;font-weight:300;color:#7d8f79}.hint-separator{margin:0 11px;color:#b7beb1}.icon-button{background:transparent;width:32px;height:32px;display:grid;place-items:center;border-radius:6px;color:#7c8778}.icon-button:hover{background:#eaf0e5}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}#notice{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);max-width:calc(100% - 50px);width:max-content;font-size:12px;background:#fdfefa;border:1px solid var(--line);padding:11px 17px;box-shadow:0 3px 15px #233b2010;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}#notice.visible{opacity:1}.controls{padding:38px 26px 25px;border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:0;height:100dvh;overflow-y:auto}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:39px}.panel-heading h2{font-size:12px;font-weight:500;margin:0;letter-spacing:.01em}.live-indicator{display:flex;align-items:center;gap:6px;font-size:10px;color:#85907f}.live-indicator i{height:5px;width:5px;border-radius:100%;background:#82a078}.field label,.field-label{font-size:12px;display:block;line-height:20px}.field label .math{margin-left:5px;color:#8b9685}.math{font-family:var(--serif);font-style:italic}.agents-field{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.stepper{height:35px;display:grid;grid-template-columns:28px 42px 28px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.stepper button{background:transparent;color:#7a8574;font-size:16px}.stepper button:hover{background:var(--soft)}.stepper input{border:0;background:transparent;min-width:0;text-align:center;font:13px var(--mono);appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{appearance:none}.regularizer-section>select{margin-top:10px;width:100%;height:38px;border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:0 10px;font-size:11px}.formula{height:88px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:25px;letter-spacing:.2px}.formula sup{font-size:15px;margin-left:2px}.exponent-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.exponent-row label>.math{font-size:18px}.exponent-row label>span+span{font-size:10px;color:var(--muted);margin-left:5px}.exponent-row input{width:67px;height:30px;border:1px solid var(--line);background:transparent;border-radius:5px;font:12px var(--mono);padding:5px 7px;appearance:textfield;-moz-appearance:textfield}.exponent-row input::-webkit-inner-spin-button{appearance:none}#exponent-slider{width:100%;margin:19px 0 0;accent-color:var(--green);height:3px;cursor:pointer;appearance:none;background:#dfe6da;border-radius:5px}#exponent-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;background:var(--green);border:2px solid var(--panel);border-radius:50%;box-shadow:0 0 0 1px var(--green)}.range-labels{display:flex;justify-content:space-between;font:10px var(--mono);color:#a0a79b;margin-top:9px}.presets{display:flex;gap:6px;margin-top:18px}.presets button{flex:1;min-width:0;height:28px;border-radius:5px;border:1px solid var(--line);background:transparent;color:#7d8776;font-size:10px}.presets button.active{border-color:#cad8c5;background:var(--soft);color:var(--accent)}.presets button:hover{background:var(--soft)}.readout{border-top:1px solid var(--line);padding-top:24px;margin-top:31px;display:flex;flex-direction:column;gap:14px}.readout>div{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#7f8978}.readout output{color:#4a5944;font:11px var(--mono);font-variant-numeric:tabular-nums}.reset-button{display:flex;align-items:center;justify-content:center;gap:8px;height:37px;border:1px solid #d9e1d4;border-radius:6px;background:transparent;margin-top:25px;font-size:11px;flex-shrink:0}.reset-button:hover{background:var(--soft)}.reset-button svg{width:15px;height:15px;fill:none;stroke:#6b7f60;stroke-width:1.2}.panel-bottom{margin-top:auto;padding-top:50px}.legend{font-size:10px;display:flex;flex-direction:column;gap:13px;color:#7c8775}.legend>span{display:flex;gap:9px;align-items:center}.legend .math{margin-left:-5px;font-size:13px;color:#64785a}.pebble-key{width:8px;height:8px;background:#446b57;border-radius:50%;margin-left:1px;margin-right:1px}.y-key{font:italic 15px var(--serif);color:#5d7951;width:10px;text-align:center}details{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:10px;color:#8c9587}summary::-webkit-details-marker{display:none}summary svg{fill:none;stroke:currentColor;stroke-width:1;width:12px;height:12px}details[open] summary svg{transform:rotate(180deg)}.method-content{font-size:11px;line-height:1.6;color:#7a8473}.method-content p{margin:15px 0 0}.method-content .math{font-size:13px}.source-credit{color:#929b8b;font-size:10px}.source-credit cite{font-style:normal}.small-note{font-size:11px;line-height:1.7;color:#8a9382;margin:0}.leaf-menu{position:absolute;width:244px;padding:16px;background:#fdfefa;border:1px solid #dce5d6;border-radius:10px;box-shadow:0 12px 40px #314c2320;z-index:5}.menu-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px}.menu-heading button{background:transparent;color:#8b9683;font-size:20px;line-height:16px;padding:2px 3px}.leaf-facts{display:flex;gap:16px;color:#8b9683;font:10px var(--mono);margin-top:8px;padding-bottom:16px}.leaf-menu>label{font-size:10px;color:#7d8973;display:block;margin-bottom:8px}.menu-action{display:flex;gap:8px}.menu-action select{width:58px;border:1px solid #dbe4d4;border-radius:5px;background:transparent;padding:8px;font-size:12px}.menu-action button{flex:1;background:#42644f;color:#fff;border-radius:5px;font-size:11px}.menu-action button:hover{background:#314c3b}.menu-action button.delete{background:#8d5f50}.leaf-menu>p{font-size:10px;color:#929b8a;line-height:1.5;margin:11px 0 0}#end-state{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center}.end-mark{font:42px var(--serif);color:#abb5a5}#end-state p{font-size:13px;color:#808c77;margin:18px 0}.text-button{font-size:12px;background:transparent;color:#526e46}.text-button span{margin-left:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 320px}.controls{padding-left:32px;padding-right:32px}}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 256px}.controls{padding:30px 20px 22px}.canvas-header{inset:30px 26px auto}.role-label{display:none}.canvas-footer{left:26px;right:20px}.interaction-hint{font-size:10px}.hint-separator{margin:0 7px}}@media(max-width:620px){.workspace{display:flex;flex-direction:column}.playground{height:65dvh;min-height:440px}.controls{height:auto;overflow:visible;padding:25px 25px 28px;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-left:0;border-top:1px solid var(--line)}.panel-heading{grid-column:1/-1;margin:0}.agents-field{margin:0;align-items:flex-start;gap:12px;flex-direction:column}.regularizer-section{grid-column:2;grid-row:2/5}.formula{height:65px}.readout{grid-column:1;margin:0;padding-top:18px;gap:15px}.reset-button{grid-column:1;margin:0;align-self:end}.panel-bottom{grid-column:1/-1;margin:0;padding-top:0}.legend{flex-direction:row;gap:24px}details{margin-top:20px}.canvas-header{inset:24px 25px auto}.title-line h1{font-size:23px}.canvas-footer{bottom:17px;left:25px}.interaction-hint{font-size:10px}.exponent-row label>span+span{display:none}.presets{gap:4px}.presets button{font-size:9px}.regularizer-section>select{font-size:10px;padding:0 6px}.leaf-value{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Compact display and starting-tree options. */
.agents-field{margin-bottom:14px}.visibility-control{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-bottom:28px;cursor:pointer}.visibility-control .math{margin-left:4px;font-size:14px}.visibility-control input{position:absolute;right:0;width:30px;height:18px;margin:0;opacity:0;cursor:pointer}.switch-track{width:30px;height:18px;border-radius:10px;background:#dce3d7;border:1px solid #d4ddce;transition:background .15s;pointer-events:none}.switch-track:after{content:'';display:block;width:12px;height:12px;margin:2px;border-radius:50%;background:var(--panel);box-shadow:0 1px 2px #28342f20;transition:transform .15s}.visibility-control input:checked+.switch-track{background:var(--green);border-color:var(--green)}.visibility-control input:checked+.switch-track:after{transform:translateX(12px)}.visibility-control input:focus-visible+.switch-track{outline:2px solid #6a8e78;outline-offset:4px}.example-button{margin-top:8px;background:var(--soft)}.example-help{margin-top:9px;font-size:10px}.panel-bottom{padding-top:30px}@media(max-width:620px){.agents-field{margin-bottom:0}.visibility-control{grid-column:1;grid-row:3;margin:0}.regularizer-section{grid-row:2/6}.readout{grid-row:4}.reset-button{grid-row:5}.example-button{grid-column:1/-1;grid-row:6;margin:0}.example-help{grid-column:1/-1;grid-row:7;margin:0}.panel-bottom{padding-top:0}}

/* Rectangle selection stays above the tree without intercepting pointer events. */
.selection-box{fill:#426b5910;stroke:#7f9b84;stroke-width:1;pointer-events:none}#tree.is-selecting,#tree.is-selecting .leaf-group{cursor:crosshair}.leaf-group.is-selected .leaf-halo{stroke:#a6bba1;stroke-width:1}.leaf-group.is-selected .leaf-node{fill:#d9e6d7;stroke-width:2}.interaction-hint{line-height:1.6}

.depth-scale{pointer-events:none}.depth-scale text{fill:#959c93;font:10px var(--mono)}.depth-scale path{fill:none;stroke:#b9c2b5;stroke-width:1}.depth-scale .depth-axis{stroke:#d2d9cd}#depth-title{font:10px var(--sans);fill:#8e9889}
