:root {
 color-scheme:light dark;
 --furl-paper:light-dark(#d9e5eb,#202f3a);--furl-chrome:light-dark(#e9f0f3,#293b48);
 --furl-page:light-dark(#f5f8fa,#182630);--furl-ink:light-dark(#243944,#e1edf1);
 --furl-quiet:light-dark(#607783,#a3b8c4);--furl-line:light-dark(#becfd8,#405662);
 --furl-binding:light-dark(#155872,#81cae4);--furl-scope:light-dark(#614778,#d2b8f1);
 --furl-value:light-dark(#386024,#b0d299);--furl-strip:light-dark(#bdd2df,#344858);
 --furl-indent:color-mix(in srgb,var(--furl-strip) 72%,var(--furl-paper));
 --furl-selection:light-dark(#c6d1e6,#314452);
 --furl-violet:light-dark(#7437c8,#c18aff);--furl-coral:light-dark(#c03250,#ff7091);--furl-teal:light-dark(#007770,#4ee7ca);
 --code-font:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
 --base-font-size:14px;--line-height:22px;--row-height-px:22px;
 --ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --STONE:var(--furl-ink);--SAND:var(--furl-paper);--T1:var(--furl-paper);--T2:var(--furl-chrome);
 --T3:var(--furl-paper);--T4:var(--furl-strip);--BR1:var(--furl-strip);--BR2:var(--furl-binding);
 --BR3:var(--furl-scope);--BR4:var(--furl-quiet);--PAT:var(--furl-binding);
 --token-exp:var(--furl-ink);--token-pat:var(--furl-binding);--token-string-lit:var(--furl-value);
 --token-buffer:light-dark(#7a8085,#a0a8ad);--caret-color:var(--furl-scope);
 --ui-bkg:var(--furl-page);--cell-active:var(--furl-paper);--cell-bkg:var(--furl-paper);
 --selection-fill:var(--furl-strip);--shard-lines-exp:var(--furl-line);
 --shard-caret-pat:light-dark(#c8dce5,#2c4556);--shard-pat:var(--shard-caret-pat);
 --shard-caret-typ:var(--shard-caret-pat);--shard-typ:var(--shard-caret-pat);
 --shard-selected:var(--furl-selection);--shard-selected-expanded:var(--furl-selection);
 --shadow-selected:transparent;--shadow-pat:var(--furl-line);
 --token-typ:var(--furl-scope);--token-tpat:var(--furl-scope);--token-mod:var(--furl-binding);
 --token-mpat:var(--furl-binding);--token-sig:var(--furl-scope);--token-drv:var(--furl-scope);
 --token-any:var(--furl-ink);--token-incomplete:var(--furl-scope);--token-explicit-hole:var(--furl-scope);
 --token-comment:var(--furl-quiet);
 --empty-hole-fill:var(--furl-strip);--empty-hole-stroke:var(--furl-scope);
 --error-hole-fill:light-dark(#ead0d7,#513140);--error-hole-stroke:var(--furl-coral);
 --warning-hole-fill:light-dark(#e3d9c6,#423b2a);--warning-hole-stroke:light-dark(#86610f,#d5b368);
}
body {margin:0;background:var(--furl-page);color:var(--furl-ink);font:14px/1.5 var(--ui-font);}
#container {height:auto;min-height:100vh;}
#furl-app {max-width:1120px;margin:auto;padding:0 24px;}
#furl-app[data-caret=violet] {--caret-color:var(--furl-violet);}
#furl-app[data-caret=coral] {--caret-color:var(--furl-coral);}
#furl-app[data-caret=teal] {--caret-color:var(--furl-teal);}
#furl-app button {font:inherit;color:inherit;cursor:pointer;border:1px solid var(--furl-line);border-radius:3px;background:transparent;padding:3px 8px;}
#furl-app button:disabled {opacity:.4;cursor:default;}
#furl-app button:focus-visible,#furl-app a:focus-visible,#furl-app select:focus-visible {outline:2px solid var(--furl-scope);outline-offset:2px;}
.furl-header {display:flex;align-items:center;gap:16px;padding:23px 0;margin-bottom:35px;border-bottom:1px solid var(--furl-line);}
.furl-wordmark {font-size:34px;line-height:1;letter-spacing:-1px;font-weight:500;color:var(--furl-scope);text-decoration:none;}
.furl-subtitle {color:var(--furl-quiet);}
.furl-header nav {display:flex;gap:20px;margin-left:auto;font-size:13px;}
.furl-studies-menu {position:relative;z-index:40;}
.furl-studies-menu summary {cursor:pointer;list-style:none;}
.furl-studies-menu summary::after {content:'⌄';margin-left:7px;color:var(--furl-quiet);}
.furl-studies-menu > div {position:absolute;right:0;top:27px;width:max-content;max-width:80vw;display:grid;padding:8px;background:var(--furl-chrome);border:1px solid var(--furl-line);border-radius:4px;box-shadow:0 5px 20px #0003;}
.furl-studies-menu a {padding:5px 9px;text-decoration:none;}
.furl-studies-menu a:hover {background:var(--furl-strip);}
#furl-app a {color:inherit;text-underline-offset:4px;text-decoration-color:var(--furl-line);}
#main.furl-main {display:block;position:relative;margin:0;padding:0;overflow:visible;background:transparent;height:auto;}
.furl-toolbar,.furl-legend {display:flex;flex-wrap:wrap;align-items:center;gap:10px 17px;padding:10px 16px;background:var(--furl-chrome);border:1px solid var(--furl-line);font-size:12px;}
.furl-toolbar {border-radius:4px 4px 0 0;}
.furl-actions {display:flex;gap:6px;margin-left:auto;}
#furl-app select {font:inherit;color:var(--furl-ink);background:var(--furl-paper);border:1px solid var(--furl-line);padding:4px 8px;border-radius:3px;}
.furl-legend {border-top:0;background:var(--furl-paper);}
#furl-app .furl-toggle {padding:1px 0;border:0;color:var(--furl-quiet);}
#furl-app .furl-toggle[aria-pressed=true] {color:var(--furl-ink);}
#furl-app .furl-toggle[aria-pressed=false] {text-decoration:line-through;}
#furl-app .furl-toggle.comb {font:24px/1 Georgia,serif;color:var(--furl-scope);width:20px;}
#furl-app .furl-toggle.bindings {color:var(--furl-binding);}
#furl-app .furl-toggle.values {color:var(--furl-value);}
#furl-app .furl-toggle.indentation {display:grid;place-items:center;width:20px;height:24px;}
#furl-app .furl-toggle.indentation::before {content:'';width:12px;height:12px;background:var(--furl-indent);}
#furl-app .furl-toggle.indentation[aria-pressed=false]::before {opacity:.35;}
.furl-program {position:relative;padding:28px 18px 28px var(--comb-gutter,5ch);font:14px/22px var(--code-font);background:var(--furl-paper);border:1px solid var(--furl-line);border-top:0;overflow-x:auto;}
.furl-row {position:relative;display:grid;grid-template-columns:var(--columns);column-gap:2ch;min-height:22px;align-items:start;}
.furl-scope {position:relative;}
.furl-pattern {min-width:0;padding-left:calc(var(--depth)*1ch);background:linear-gradient(to right,var(--furl-indent) calc(var(--depth)*1ch),transparent 0);color:var(--furl-binding);}
.furl-expression,.furl-value {min-width:0;}
.furl-expression {overflow:visible;}
.furl-value {color:var(--furl-value);white-space:pre;overflow-wrap:normal;}
.result-name {color:var(--furl-quiet);font-style:italic;cursor:default;}
.terminal .furl-pattern {color:var(--furl-scope);}
#main.furl-main .code-editor {padding:0;min-height:22px;display:block;min-width:0;width:max-content;max-width:none;outline:none;-webkit-user-select:none;user-select:none;}
#main.furl-main .code-container {padding:0;min-height:22px;}
#main.furl-main .code {font:14px/22px var(--code-font);}
/* Ported from refactorings' CodeFlip support (7dbd77039d): animate real
   single-line code leaves. Transforms have no painted effect on inline spans. */
#main.furl-main .code .token,#main.furl-main .code .comment,#main.furl-main .code .in-unparsed-buffer {display:inline-block;}
#main.furl-main .token.keyword,#main.furl-main .token.poly {font-weight:400;}
#main.furl-main .token.keyword {color:var(--furl-scope);}
#furl-app #caret.blink {animation:none;scroll-margin:1ch;}
/* Hazel's ghost completion also carries `selected`; keep its native invisible
   buffer backing separate from actual selections. */
#furl-app svg.shard:is(.selected,.selected-expanded):not(.buffer-unparsed) {filter:none;}
#furl-app svg.shard:is(.selected,.selected-expanded):not(.buffer-unparsed) > path {stroke:var(--furl-scope);stroke-width:.8px;}
/* Diagnostic color is a solid backing; Hazel still draws the selection. */
#furl-app :is(.errors .errors-piece,.warnings .warnings-piece) svg.shard > path,
#furl-app :is(.errors .errors-piece,.warnings .warnings-piece) svg .child-line,
#furl-app .projector.error:not(.selected) > svg path {stroke:none;stroke-dasharray:none;}
.furl-caret-options {display:flex;align-items:center;gap:6px;color:var(--furl-quiet);margin-left:auto;}
#furl-app .caret-option {padding:1px 5px;font-size:11px;border-color:transparent;}
#furl-app .caret-option[aria-pressed=true] {border-color:currentColor;}
#furl-app .caret-option.violet {color:var(--furl-violet);}
#furl-app .caret-option.coral {color:var(--furl-coral);}
#furl-app .caret-option.teal {color:var(--furl-teal);}
.furl-help {color:var(--furl-quiet);font-size:12px;margin:14px 0;max-width:760px;}
.furl-powered {display:flex;align-items:center;gap:5px;text-decoration:none;font-size:12px;color:var(--furl-quiet);}
.furl-powered img {width:18px;height:18px;filter:brightness(.5);}
#font-specimen {position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;font:14px/22px var(--code-font);}
@media(prefers-color-scheme:dark){.furl-powered img{filter:brightness(.8);}}
@media(max-width:650px){#furl-app{padding:0 10px;}.furl-header{flex-wrap:wrap;gap:10px;margin-bottom:22px;}.furl-header nav{gap:12px;}.furl-toolbar,.furl-legend{padding:9px 12px;}.furl-actions{margin-left:0;flex-wrap:wrap;}.furl-program{padding-right:12px;}.furl-row{min-width:590px;}}

/* One character-based lane plan shared by enclosing rows and every case arm. */
.furl-row {width:var(--lane-width);}
.furl-function,.furl-function-content,.furl-match,.furl-branches,.furl-branch,.furl-parameters {position:relative;}
.furl-branches {display:grid;column-gap:var(--lane-gap);align-items:start;}
.furl-branch {min-width:0;}
.furl-branches {align-items:stretch;}
.furl-branch {display:flex;flex-direction:column;}
.furl-branch > :last-child {margin-top:auto;}
.furl-branch > .furl-scope {flex:1;display:flex;flex-direction:column;}
.furl-branch > .furl-scope > :last-child {margin-top:auto;}
.furl-parameter-dot {color:var(--furl-scope);font-size:20px;line-height:22px;}
.furl-view-options {display:flex;align-items:center;flex-wrap:wrap;gap:7px;font:12px/22px var(--ui-font);padding:6px 16px;background:var(--furl-paper);border:1px solid var(--furl-line);border-top:0;color:var(--furl-quiet);}
#furl-app .furl-view-options button {padding:1px 7px;border-color:transparent;}
#furl-app .furl-view-options button[aria-pressed=true] {border-color:var(--furl-line);color:var(--furl-ink);}
@media(max-width:650px){.furl-row{min-width:0;}}

/* Offside SVGs share one stroke; their percentage-height stems follow native
   row bounds without scaling the curves. Buttons provide independent hit areas. */
#furl-app .furl-comb,#furl-app .furl-open {position:absolute;font:14px/22px var(--code-font);width:1ch;padding:0;margin:0;border:0;border-radius:0;color:var(--furl-scope);z-index:5;}
#furl-app .furl-comb {top:0;bottom:0;}
#furl-app .furl-open {top:0;background:var(--furl-paper);}
#furl-app .furl-comb:hover {background:color-mix(in srgb,var(--furl-scope) 10%,transparent);}
#furl-app .furl-case-comb {color:var(--furl-value);}
.furl-comb-svg {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:inherit;}
.furl-comb-svg > path,.furl-comb-svg > line {fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:miter;vector-effect:non-scaling-stroke;}
.furl-parameter-divider {position:absolute;top:100%;width:1ch;height:1px;color:var(--furl-scope);pointer-events:none;}
#furl-app .furl-match-bridge {position:absolute;top:-6px;height:8px;padding:0;border:0;border-radius:0;color:var(--furl-value);z-index:4;}
#furl-app .furl-match-bridge .furl-bridge-svg {top:6px;width:calc(100% - .65ch);}
#furl-app .furl-match-bridge:hover {background:color-mix(in srgb,var(--furl-value) 10%,transparent);}
.furl-scope:has(> .furl-comb:hover),.furl-function-content:has(> .furl-comb:hover) {background:color-mix(in srgb,var(--furl-scope) 4%,transparent);}

/* Call controls occupy the existing value gutter, never a new code row. */
.furl-value-inspector {position:relative;display:inline-block;max-width:calc(100% - 2ch);min-width:1ch;vertical-align:top;}
#furl-app .furl-value-text {display:block;padding:0;border:0;border-radius:2px;min-width:1ch;min-height:22px;max-width:100%;font:inherit;color:inherit;white-space:pre;overflow-wrap:normal;text-align:left;}
#furl-app .furl-value-text:hover {background:color-mix(in srgb,var(--furl-value) 8%,transparent);}
.furl-value-inspector[data-selected=true] {background:color-mix(in srgb,var(--furl-value) 10%,transparent);box-shadow:0 1px 0 var(--furl-value);}
#furl-app .furl-call-arrow {position:absolute;top:0;width:1.3ch;height:22px;line-height:22px;font-size:17px;padding:0;border:0;color:var(--furl-value);background:var(--furl-paper);z-index:6;}
#furl-app .furl-call-arrow.previous {right:calc(100% + .25ch);}
#furl-app .furl-call-arrow.next {left:calc(100% + .25ch);}
#furl-app .furl-call-arrow:hover:not(:disabled) {background:var(--furl-strip);}
.furl-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}

/* One footer: native cursor information plus the whole-program problem count. */
.furl-inspector {display:flex;align-items:center;gap:16px;min-height:31px;padding:4px 12px;border:1px solid var(--furl-line);border-top:0;border-radius:0 0 4px 4px;font:12px/22px var(--ui-font);color:var(--furl-quiet);}
.furl-inspector-detail {position:relative;flex:1;min-width:0;}
#furl-app[data-gesture-message=true] .furl-cursor-details {visibility:hidden;pointer-events:none;}
.furl-cursor-details {display:flex;align-items:center;gap:10px;flex:1;min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;}
.furl-cursor-details > * {flex-shrink:0;}
.furl-cursor-form,.furl-cursor-details .status {display:flex;align-items:center;gap:5px;}
.furl-cursor-sort {color:var(--furl-scope);}
.furl-cursor-details .status {color:var(--furl-ink);}
.furl-cursor-details .status.error,.furl-inspector-message,.furl-problem-totals .has-errors {color:var(--furl-coral);}
.furl-cursor-details .status.warning {color:var(--warning-hole-stroke);}
.furl-cursor-details .code-box-container {display:flex;align-items:center;}
#main.furl-main .furl-cursor-details .code {font:14px/22px var(--code-font);}
.furl-problem-totals {display:flex;flex-wrap:wrap;justify-content:flex-end;column-gap:10px;flex-shrink:0;max-width:45%;white-space:nowrap;}

/* Native editor commands in Furl's palette, above the scrolling code panel. */
#furl-app .context-menu.furl-context-menu {position:fixed !important;inset:auto;margin:0;transform:none;animation:none;box-sizing:border-box;min-width:min(224px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;padding:4px;border:1px solid var(--furl-line);border-radius:4px;outline:none;background:var(--furl-chrome);color:var(--furl-ink);font:12px/22px var(--ui-font);box-shadow:0 6px 20px light-dark(#24394426,#0005);--menu-item-text:var(--furl-ink);--menu-outline:var(--furl-line);}
#furl-app .furl-context-menu::backdrop {background:transparent;pointer-events:none;}
#furl-app .furl-context-menu .named-menu-item {white-space:nowrap;}
#furl-app .furl-context-menu .group .contents .named-menu-item {padding:2px 8px;}
#furl-app .furl-context-menu .group .contents .named-menu-item:hover,
#furl-app .furl-context-menu .group .contents .named-menu-item.selected {background:color-mix(in srgb,var(--furl-scope) 14%,var(--furl-chrome));}
#furl-app .furl-context-menu .group .contents:hover .named-menu-item.selected:not(:hover),
#furl-app .furl-context-menu .group .contents .named-menu-item.disabled:hover {background:transparent;}
#furl-app .furl-context-menu .menu-shortcut {color:var(--furl-quiet);opacity:1;}

/* Provisional tools reserve no code columns or extra code rows. */
.furl-gesture-tools {display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--furl-paper);border:1px solid var(--furl-line);border-top:0;flex-wrap:wrap;}
#furl-app .furl-gesture-tools button {display:grid;place-items:center;width:29px;height:28px;padding:3px;border-color:transparent;color:var(--furl-quiet);}
.furl-gesture-tools svg {width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;}
#furl-app .furl-gesture-tools button[aria-pressed=true] {color:var(--furl-scope);background:color-mix(in srgb,var(--furl-scope) 10%,transparent);border-color:var(--furl-line);}
.furl-tool-divider {height:16px;width:1px;background:var(--furl-line);margin:0 7px;}
.furl-native-cell,.furl-binding,.furl-tail {position:relative;}
.furl-hit-layer {position:absolute;inset:0;pointer-events:none;z-index:8;}
.furl-hit {position:absolute;display:block;color:transparent;background:transparent;pointer-events:none;outline:none;}
#furl-app:is([data-tool=move],[data-tool=copy]) .furl-hit {pointer-events:auto;cursor:grab;}
#furl-app:is([data-tool=move],[data-tool=copy]) .furl-hit:hover,.furl-hit:focus-visible,.furl-drop-target {background:color-mix(in srgb,var(--furl-scope) 12%,transparent);box-shadow:0 1px var(--furl-scope);}
.furl-unplugging {background:color-mix(in srgb,var(--furl-paper) 70%,transparent);}
.furl-exiting-reference {position:absolute;display:block;pointer-events:none;user-select:none;color:var(--furl-ink);font:14px/22px var(--code-font);white-space:pre;transform-origin:left center;}
#furl-app:is([data-tool=move],[data-tool=copy]) .furl-row {cursor:grab;}
#furl-app:is([data-tool=move],[data-tool=copy]) .furl-binding[data-row-hover=true] {background:color-mix(in srgb,var(--furl-scope) 5%,transparent);}
#furl-app:is([data-tool=move],[data-tool=copy]) .furl-binding:focus {outline:none;}
#furl-app:is([data-tool=move],[data-tool=copy]) .furl-binding:focus-visible:not([data-picked]) {box-shadow:inset 2px 0 color-mix(in srgb,var(--furl-scope) 35%,transparent);}
#furl-app:is([data-tool=move],[data-tool=copy]) .code-editor {cursor:grab;}
#furl-app:is([data-tool=move],[data-tool=copy]) #caret {visibility:hidden;}
#furl-app:is([data-tool=move],[data-tool=copy]) [data-cell-active=true] #caret {visibility:visible;}
#furl-app:is([data-tool=move],[data-tool=copy]) [data-cell-active=true] .code-editor {cursor:text;}
.furl-value[data-cell-active=true] {user-select:text;cursor:text;}
.furl-binding[data-picked=true],.furl-binding[data-row-settling=true] {z-index:10;background:color-mix(in srgb,var(--furl-scope) 9%,var(--furl-paper));}
.furl-program {overflow-anchor:none;}
.furl-delete-preview {box-shadow:inset 0 0 0 2px var(--furl-coral);}
.furl-delete-preview [data-picked=true] {opacity:.4;}
.furl-gesture-overlay {position:fixed;inset:0;pointer-events:none;z-index:12;}
#furl-app .furl-gap {position:fixed;height:8px;padding:0;border:0;border-radius:0;pointer-events:auto;opacity:0;cursor:copy;background:transparent;}
#furl-app .furl-gap {transition:opacity 100ms;transition-delay:0ms;}
#furl-app .furl-gap:hover {opacity:1;transition-delay:160ms;}
.furl-gap::before {content:'';position:absolute;left:0;right:0;top:3px;height:1px;background:var(--furl-scope);opacity:.14;}
.furl-gap::after {content:none;position:absolute;left:-8px;top:-8px;color:var(--furl-scope);font:16px/22px var(--code-font);}
.furl-gap.furl-place-boundary::after {content:none;}
#furl-app .furl-gap.furl-place-boundary {cursor:default;}
/* A gesture owns its input until release. Geometry-based connection targets
   still work; incidental comb, value and editor hover affordances stay quiet. */
#furl-app:is([data-gesture=row],[data-gesture=connection],[data-gesture=term],[data-gesture=commit]) .furl-program-content,
#furl-app:is([data-gesture=row],[data-gesture=connection],[data-gesture=term],[data-gesture=commit]) .furl-program-content * {pointer-events:none !important;}
#furl-app:is([data-gesture=connection],[data-gesture=term]) .furl-hit {pointer-events:auto !important;}
#furl-app[data-gesture=connection] .furl-hit:hover:not(.furl-drop-target) {background:transparent;box-shadow:none;}
.furl-gesture-status {position:absolute;inset:0;display:flex;align-items:center;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;font:12px/22px var(--ui-font);color:var(--furl-scope);}
.furl-gesture-status:empty {display:none;}
.furl-floating-reference {position:fixed;transform:translate(-50%,-50%);pointer-events:none;color:var(--furl-binding);font:14px/22px var(--code-font);}
.furl-floating-term {position:fixed;z-index:24;pointer-events:none;white-space:pre;font:14px/22px var(--code-font);color:var(--furl-ink);background:var(--furl-paper);box-shadow:0 2px 8px #0003;opacity:.85;}
.furl-term-range {position:absolute;pointer-events:none;background:color-mix(in srgb,var(--furl-scope) 7%,transparent);}
.furl-term-range[data-kind=target] {background:color-mix(in srgb,var(--furl-scope) 17%,transparent);box-shadow:inset 0 -1px var(--furl-scope);}
.furl-term-range[data-kind=refused] {background:color-mix(in srgb,var(--furl-coral) 10%,transparent);}
#furl-app .furl-gap.furl-extract-boundary {display:block !important;visibility:visible;opacity:1;}
.furl-row-copy-ghost {font:14px/22px var(--code-font);opacity:.72;background:var(--furl-paper);box-shadow:0 2px 8px #0003;}
.furl-row-copy-ghost .code {font:14px/22px var(--code-font);}
.furl-wire-layer {position:absolute;inset:0;pointer-events:none;z-index:1;}
.furl-program-content {position:relative;z-index:2;}
.furl-wire-layer .reference-wire {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:var(--furl-scope);}
.furl-wire-layer .reference-wire[data-kind=drag],.furl-wire-layer .reference-wire[data-kind=retract] {position:fixed;width:100vw;height:100vh;}
.furl-wire-layer .reference-wire path {fill:none;stroke:currentColor;stroke-width:1.15px;stroke-linecap:round;stroke-opacity:.72;}
.furl-wire-layer .reference-wire[data-kind=hover] path {stroke-opacity:.38;}
.furl-wire-layer .reference-wire[data-kind=landing] path {stroke-opacity:.5;}
.furl-wire-layer .reference-wire circle {fill:currentColor;fill-opacity:.75;stroke:none;}
#furl-app [hidden] {display:none !important;}
.furl-view-options .furl-gesture-tools {margin-left:auto;border:0;padding:0;background:transparent;}
/* Bound native text below its measured hit layer; menus still use the top layer. */
#main.furl-main .furl-native-cell .code-editor {position:relative;z-index:0;}
/* Borderless recording view. The dock overlays rather than displacing code. */
#furl-app[data-zen=true] {--furl-paper:var(--furl-page);max-width:none;width:100%;min-height:100dvh;padding:0;box-sizing:border-box;display:block;}
#furl-app[data-zen=true] .furl-header,
#furl-app[data-zen=true] .furl-toolbar,
#furl-app[data-zen=true] .furl-legend,
#furl-app[data-zen=true] .furl-inspector,
#furl-app[data-zen=true] .furl-help {display:none;}
#furl-app[data-zen=true] #main {display:flow-root;width:100%;min-width:0;}
#furl-app[data-zen=true] .furl-program {--zen-left:20ch;--zen-top:20ch;box-sizing:border-box;margin:var(--zen-top) 24px 24px var(--zen-left);width:calc(var(--zen-columns)*1ch + var(--comb-gutter) + 18px);max-width:calc(100% - var(--zen-left) - 24px);max-height:calc(100dvh - var(--zen-top) - 24px);border:0;overflow:auto;}
#furl-app[data-zen=true] .furl-view-options {position:fixed;z-index:30;top:12px;left:50%;transform:translate(-50%,-6px);max-width:calc(100vw - 24px);width:max-content;box-sizing:border-box;padding:6px 8px;border:1px solid var(--furl-line);border-radius:5px;background:var(--furl-chrome);font-size:0;gap:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 140ms,transform 140ms;}
#furl-app[data-zen=true] .furl-view-options > button {display:none;}
#furl-app[data-zen=true] .furl-gesture-tools {margin:0;font-size:12px;justify-content:center;}
#furl-app[data-zen=true][data-zen-tools=true] .furl-view-options {opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}
#furl-app[data-zen=true][data-gesture-message=true] .furl-inspector {display:block;position:fixed;bottom:16px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 48px);min-height:0;box-sizing:border-box;padding:4px 10px;border:1px solid var(--furl-line);border-radius:3px;background:var(--furl-chrome);z-index:20;}
#furl-app[data-zen=true] .furl-inspector :is(.furl-cursor-details,.furl-problem-totals) {display:none;}
#furl-app[data-zen=true] .furl-gesture-status {position:static;}
@media (prefers-reduced-motion:reduce) {#furl-app[data-zen=true] .furl-view-options {transition:none;}}

#furl-app[data-zen=true] .furl-program:focus {outline:none;}

@media (max-width:700px) {#furl-app[data-zen=true] .furl-program {--zen-left:20px;}}
@media (max-width:700px),(max-height:500px) {#furl-app[data-zen=true] .furl-program {--zen-top:64px;}}

.furl-row-copy-ghost .code-editor,.furl-row-copy-ghost .code-container{padding:0;min-height:22px;width:max-content;display:block;}
/* Hazel currently has one warning kind: UnusedVar. Usage ink replaces its
   backing; error shards and inspector warning counts remain intact. */
#furl-app .warnings .warnings-piece {display:none;}
#furl-app .code-text .token[data-furl-uses="0"] {color:var(--furl-quiet);}
#furl-app .code-text .token[data-furl-uses]:not([data-furl-uses="0"]):not([data-furl-uses="1"]) {text-decoration:underline;text-underline-offset:3px;}
#furl-app .furl-match-layout-toggle {width:27px;height:27px;padding:3px;color:var(--furl-scope);margin-right:9px;border-color:transparent;}
.furl-match-layout-toggle svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}
#furl-app .furl-match-layout-toggle:hover {background:var(--furl-strip);}

#furl-app[data-match-motion=true] .furl-branch {animation:none;pointer-events:none;will-change:transform,opacity;}
#furl-app[data-match-motion=true] .furl-match-bridge {pointer-events:none;}
#furl-app .furl-branch[data-match-moving] {background:var(--furl-paper);}
