:root{--void: #050506;--panel: #0c0c0e;--raise: #17171a;--line: #2a2a2f;--line-2: #3d3d44;--ink: #f2f1ec;--ink-2: #9a9aa3;--signal: #ff2d8a;--focus: #6aa8ff;--grid-major: #1e1e24;--grid-minor: #111115;--rg-C: #6fb6c8;--rg-T: #9d8fe0;--rg-L: #6fc296;--rg-S: #dc9f6e;--sans: "Archivo", system-ui, sans-serif;--mono: "Space Mono", ui-monospace, monospace;--display-l: "sets-grotesk-l", "Archivo", system-ui, sans-serif;--display-m: "sets-grotesk-m", "Archivo", system-ui, sans-serif;--display-s: "sets-grotesk-s", "Archivo", system-ui, sans-serif;--s-1: .8125rem;--s0: .9375rem;--s1: 1.0625rem;--s3: 2.5rem;--panel-w: clamp(340px, 30vw, 420px);--r: 6px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--void);color:var(--ink);font:400 var(--s0)/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--signal);color:#fff}.app{display:grid;grid-template-columns:var(--panel-w) 1fr;height:100dvh}.panel{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;padding:32px 28px 28px;padding-left:max(28px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:32px;min-width:0;scrollbar-color:var(--line-2) transparent}.stage{--grid-x: 0px;--grid-y: 0px;--cell: 8px;position:relative;overflow:hidden;min-height:0;min-width:0;background-color:var(--void);background-image:radial-gradient(ellipse 60% 55% at 50% 48%,rgb(233 227 212 / .05),transparent 70%),linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--grid-minor) 1px,transparent 1px);background-size:100% 100%,calc(var(--cell) * 5) calc(var(--cell) * 5),calc(var(--cell) * 5) calc(var(--cell) * 5),var(--cell) var(--cell),var(--cell) var(--cell);background-position:0 0,calc(50% + var(--grid-x)) calc(50% + var(--grid-y)),calc(50% + var(--grid-x)) calc(50% + var(--grid-y)),calc(50% + var(--grid-x)) calc(50% + var(--grid-y)),calc(50% + var(--grid-x)) calc(50% + var(--grid-y))}.stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 50%,transparent 35%,var(--void) 100%)}.stage.no-grid{background-image:none}#view{position:relative;display:block;width:100%;height:100%;touch-action:none;cursor:grab}#view:active{cursor:grabbing}.intro{position:relative}.intro-tools{display:flex;justify-content:flex-end;gap:6px;margin-bottom:10px}.about-btn{width:28px;height:28px;padding:0;border-radius:50%;cursor:pointer;border:1px solid var(--line);background:var(--raise);color:var(--ink-2);font:700 .8rem/1 var(--mono)}.about-btn:hover{color:var(--ink);border-color:var(--line-2)}.title-btn{all:unset;cursor:pointer;display:inline;border-radius:2px}.title-btn:hover{color:color-mix(in srgb,var(--ink) 82%,var(--signal))}.title-btn:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.lang{display:flex;gap:2px;padding:2px;background:var(--raise);border:1px solid var(--line);border-radius:var(--r)}.lang button{border:0;border-radius:calc(var(--r) - 2px);background:transparent;cursor:pointer;padding:5px 8px;font:700 .75rem/1 var(--mono);color:var(--ink-2);letter-spacing:.04em}.lang button:hover{color:var(--ink)}.lang button[aria-pressed=true]{background:var(--ink);color:var(--void)}.intro h1{margin:0 0 12px;font:700 var(--s3)/.95 var(--display-l);letter-spacing:-.02em;text-wrap:balance}.intro p{margin:0;color:var(--ink-2);font-size:var(--s0);line-height:1.45;max-width:36ch}h2{margin:0;font:700 var(--s1)/1.2 var(--display-s)}.add{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field>.label{font-size:var(--s-1);font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:baseline}.field output{font:700 var(--s-1) var(--mono);color:var(--signal)}.hint{margin:0;font-size:var(--s-1);color:var(--ink-2);line-height:1.45;min-height:2.9em}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid var(--line);border-radius:var(--r);background:var(--raise) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239a9aa3'/%3E%3C/svg%3E") no-repeat right 12px center;padding:10px 34px 10px 12px}select:hover{border-color:var(--line-2)}optgroup,option{background:var(--raise);color:var(--ink)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:2px;border-radius:var(--r);background:var(--raise);border:1px solid var(--line)}.seg-4{grid-auto-flow:row;grid-template-columns:1fr 1fr}.seg button{border:0;border-radius:calc(var(--r) - 2px);background:transparent;padding:8px 6px;cursor:pointer;font-size:var(--s-1);color:var(--ink-2)}.seg button:hover:not(:disabled):not([aria-checked=true]){color:var(--ink)}.seg button[aria-checked=true]{background:var(--ink);color:var(--void);font-weight:600}.seg button:disabled{opacity:.35;cursor:not-allowed}input[type=range]{width:100%;accent-color:var(--signal)}button.primary{margin-top:4px;border:0;border-radius:var(--r);background:var(--signal);color:#fff;padding:12px 18px;font-weight:700;cursor:pointer}button.primary:hover{filter:brightness(1.1)}button.ghost{border:0;background:none;padding:0;cursor:pointer;font-size:var(--s-1);color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}button.ghost:hover{color:var(--ink)}.row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list li{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:12px 12px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--raise)}.list li.is-active{border-color:var(--signal)}.list .code{grid-row:span 3;font:700 var(--s0)/1.3 var(--mono);color:var(--signal)}.list .what{font-weight:600;line-height:1.3}.list .root{color:var(--ink-2);font-size:var(--s-1);line-height:1.4}.list .root b{color:var(--ink);font-weight:700}.list .actions{display:flex;gap:14px;margin-top:4px}.list .actions button{border:0;background:none;padding:0;cursor:pointer;font-size:var(--s-1);color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.list .actions button:hover{color:var(--ink)}.empty{margin:0;color:var(--ink-2);font-size:var(--s-1)}.posture{display:flex;flex-direction:column;gap:14px}.posture .hint{min-height:0}.posture .seg-4 button:last-child:nth-child(odd){grid-column:1 / -1}.note{margin:0;font-size:.75rem;line-height:1.5;color:var(--ink-2)}.note a{color:inherit;text-underline-offset:2px}.note a:hover{color:var(--ink)}.range-ends{margin:-2px 0 0;display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-2)}.foot{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:.75rem;color:var(--ink-2);line-height:1.5}.foot p{margin:0 0 8px}.foot strong{color:var(--ink)}.foot a{color:inherit}.toolbar{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;pointer-events:none}.toolbar>*{pointer-events:auto}.tb-right{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tb-left{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;pointer-events:none}.tb-left>*{pointer-events:auto}.disc-pick{display:flex;gap:2px;padding:2px;background:#0c0c0ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r)}.disc-pick[hidden]{display:none}.disc-pick select{width:auto;border:0;background-color:transparent;padding:6px 28px 6px 10px;font:700 var(--s-1) var(--mono);background-position:right 10px center}.disc-pick button{width:32px;border:0;border-radius:calc(var(--r) - 2px);background:transparent;color:var(--ink-2);cursor:pointer;display:grid;place-items:center}.disc-pick button:hover:not(:disabled){color:var(--ink);background:var(--raise)}.disc-pick button:disabled{opacity:.3;cursor:default}.views,.layers{display:flex;gap:2px;padding:2px;background:#0c0c0ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r)}.views button,.chip{border:0;border-radius:calc(var(--r) - 2px);background:transparent;padding:8px 12px;cursor:pointer;font-size:var(--s-1);color:var(--ink-2)}.views button:hover,.chip:hover{color:var(--ink)}.views button[aria-pressed=true]{background:var(--ink);color:var(--void);font-weight:600}.chip{background:#0c0c0ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r)}.chip[aria-pressed=true]{color:var(--ink);border-color:var(--signal)}.bottom{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;pointer-events:none}.bottom>*{pointer-events:auto}.layer-stack{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.layers{gap:14px;padding:8px 12px;font-size:var(--s-1);flex-wrap:wrap}.legend{list-style:none;margin:0;display:flex;gap:14px;flex-wrap:wrap;padding:8px 12px;font-size:.75rem;color:var(--ink-2);background:#0c0c0ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r)}.legend[hidden]{display:none}.legend li{display:flex;align-items:center;gap:6px}.legend li:before{content:"";width:10px;height:10px;border-radius:2px;background:var(--rg)}.rg-C{--rg: var(--rg-C)}.rg-T{--rg: var(--rg-T)}.rg-L{--rg: var(--rg-L)}.rg-S{--rg: var(--rg-S)}.layers label{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink-2)}.layers input{accent-color:var(--signal);margin:0}.howto{margin:0;padding:8px 12px;font-size:.75rem;color:var(--ink-2);max-width:36ch;background:#0c0c0ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--r)}.pick-card{position:absolute;left:0;top:0;z-index:2;width:min(300px,calc(100% - 24px));padding:14px 14px 12px;background:#0c0c0eeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 12px 32px #00000080;font-size:var(--s-1);line-height:1.45}.pick-card[hidden]{display:none}.pick-card h3{margin:0;font:700 1.5rem/1 var(--display-m);letter-spacing:-.01em;padding-right:28px}.pc-sub{margin:4px 0 10px;color:var(--ink-2)}.pc-roots{margin:0 0 12px;color:var(--ink-2)}.pc-roots b{color:var(--ink)}.pc-close{position:absolute;top:6px;right:6px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:calc(var(--r) - 2px);background:none;color:var(--ink-2);cursor:pointer}.pc-close:hover{color:var(--ink);background:var(--raise)}.pc-discs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pc-discs li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--raise)}.pc-code{font:700 var(--s0)/1.2 var(--mono);color:var(--ink)}.pc-where{color:var(--ink-2);font-size:.75rem}.pc-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.pc-links{display:flex;gap:12px}.pc-add{margin-left:auto;border:0;border-radius:calc(var(--r) - 2px);cursor:pointer;background:var(--signal);color:#fff;font-weight:700;padding:7px 12px}.pc-add:hover{filter:brightness(1.1)}.pick-tip{position:absolute;left:0;top:0;pointer-events:none;transform:translate(14px,-130%);padding:3px 7px;border-radius:4px;background:var(--ink);color:var(--void);font:700 .75rem/1.2 var(--mono);white-space:nowrap}.pick-tip.is-hidden{display:none}.field.is-flash select{animation:flash 1.2s ease-out}@keyframes flash{0%{border-color:var(--signal);box-shadow:0 0 0 3px #ff2d8a59}}.lbl-short{display:none}.film{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--ink-2);font:400 .6875rem/1.45 var(--mono);letter-spacing:.06em}.film .mark{position:absolute;width:14px;height:14px;border:0 solid rgb(154 154 163 / .45)}.film .tl{top:6px;left:6px;border-top-width:1px;border-left-width:1px}.film .tr{top:6px;right:6px;border-top-width:1px;border-right-width:1px}.film .bl{bottom:6px;left:6px;border-bottom-width:1px;border-left-width:1px}.film .br{bottom:6px;right:6px;border-bottom-width:1px;border-right-width:1px}.film .ori{position:absolute;font-weight:700;font-size:.8125rem;color:var(--ink);opacity:.55}.film .ori-l{left:14px;top:50%;transform:translateY(-50%)}.film .ori-r{right:44px;top:50%;transform:translateY(-50%)}.film .ori-t{top:calc(var(--tb-h, 52px) + 12px);left:50%;transform:translate(-50%)}.film .ori-b{bottom:70px;left:50%;transform:translate(-50%)}.film .ruler{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:8px;border-right:1px solid rgb(154 154 163 / .6);background:repeating-linear-gradient(to bottom,rgb(154 154 163 / .6) 0 1px,transparent 1px var(--cm, 10px))}.film .ruler span{position:absolute;right:0;top:100%;margin-top:6px;white-space:nowrap}.film .readout{position:absolute;top:calc(var(--tb-h, 52px) + 12px);margin:0;font:inherit;white-space:pre}.film .readout-l{left:16px}.film .readout-r{right:44px;text-align:right}.about{width:min(560px,calc(100vw - 32px));max-height:min(80dvh,720px);padding:28px 28px 24px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);color:var(--ink);box-shadow:0 24px 64px #0009;scrollbar-color:var(--line-2) transparent}.about::backdrop{background:#050506b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.about h2{font:700 1.75rem/1.05 var(--display-l);letter-spacing:-.02em;margin:0 0 14px;padding-right:32px}.about h3{margin:20px 0 6px;font:700 var(--s1)/1.2 var(--display-s)}.about-body{font-size:var(--s0);line-height:1.55;color:var(--ink-2)}.about-body p{margin:0 0 10px;max-width:62ch}.about-body ol{margin:0;padding-left:1.2em;display:grid;gap:4px}.about-body a{color:var(--ink);text-underline-offset:3px}.about .pc-close{top:12px;right:12px}.labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.lvl{position:absolute;left:0;top:0;transform:translate(-100%,-50%);padding-right:14px;font:700 1.5rem/1 var(--display-m);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;transition:color .2s}.lvl:after{content:"";position:absolute;right:0;top:50%;width:10px;height:1px;background:currentColor;opacity:.6}.show-regions .lvl:not(.is-hit)[class*=rg-]{color:var(--rg)}.lvl.is-hit{color:var(--signal)}.lvl.is-small{font-size:.85rem;font-weight:600;color:var(--ink-2)}.lvl.is-hidden{opacity:0}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:10px;justify-items:center;background:var(--void);color:var(--ink-2);font-size:var(--s-1);transition:opacity .5s}.loading.is-done{opacity:0;pointer-events:none}.loading .bar{display:block;width:160px;height:2px;background:var(--line)}.loading .bar span{display:block;height:100%;width:0;background:var(--signal)}@media (max-width: 860px){.app{grid-template-columns:1fr;grid-template-rows:64dvh auto;height:auto}.stage{grid-row:1;height:64dvh}.panel{grid-row:2;border-right:0;border-top:1px solid var(--line);overflow:visible;padding:28px 16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.intro h1{font-size:2.1rem}.toolbar{top:10px;left:10px;right:10px}.views{flex:1}.lbl-long{display:none}.lbl-short{display:inline}.about-btn{width:40px;height:40px}.chip{min-height:44px}.lang button{min-height:36px;padding:0 12px}button.ghost{padding:12px 0}.views button{flex:1;padding:8px 4px}.tb-left{display:contents}.tb-right{order:1}.disc-pick{order:2}.disc-pick button{width:44px}.chip:not(.chip-keep){display:none}.bottom{left:10px;right:10px;bottom:10px}.film .readout,.film .ori-t,.film .ori-b{display:none}.pc-add,.pick-card .ghost{min-height:40px}.howto{display:none}.lvl{font-size:1.15rem}.seg button,.views button,select{min-height:44px}.list .actions{gap:4px;margin-left:-10px}.list .actions button{padding:12px 10px}.layers label{min-height:32px}}@media (min-width: 600px) and (max-width: 860px){.lbl-long{display:inline}.lbl-short{display:none}.film .readout,.film .ori-t,.film .ori-b{display:block}.chip:not(.chip-keep){display:inline-block}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
