.chart{--hairs-bars: repeating-linear-gradient(to right, var(--hair4) 0 1px, transparent 1px calc(100% / var(--per, 2)));--hairs-half: repeating-linear-gradient(to right, var(--hair8) 0 1px, transparent 1px calc(100% / (var(--per, 2) * 2)));background-image:var(--hairs-bars),var(--hairs-half)}.chart .csec{margin-top:34px}.chart .csec:first-child{margin-top:12px}.chart .csec-h{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.chart .csec-name{font:700 14.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.chart .csec-meta{font:600 9.5px/1 var(--mono);letter-spacing:.06em;color:var(--faint)}.chart .cfree{font:700 9.5px/1 var(--mono);letter-spacing:.08em;color:var(--blue);border:1px solid var(--blue-line);padding:3px 6px;border-radius:4px}.chart .crows{display:flex;flex-direction:column;gap:12px}.chart .crow{display:grid;grid-template-columns:repeat(var(--per, 2),1fr);position:relative;border-top:1px solid var(--hair4);border-bottom:1px solid var(--hair4);background-image:repeating-linear-gradient(to right,var(--hair8) 0 1px,transparent 1px calc(100% / (var(--per, 2) * 4))),repeating-linear-gradient(to right,var(--hairA) 0 1px,transparent 1px calc(100% / (var(--per, 2) * 8))),repeating-linear-gradient(to right,var(--hairB) 0 1px,transparent 1px calc(100% / (var(--per, 2) * 16)))}.chart[data-per="4"] .crow{background-image:repeating-linear-gradient(to right,var(--hair8) 0 1px,transparent 1px calc(100% / (var(--per) * 4))),repeating-linear-gradient(to right,var(--hairA) 0 1px,transparent 1px calc(100% / (var(--per) * 8)))}.chart .cbar{position:relative;padding:6px 5px 8px;min-height:44px}.chart .cbn{position:absolute;top:4px;right:6px;font:600 9px/1 var(--mono);color:var(--faint);font-variant-numeric:tabular-nums}.chart .ccg{position:relative;display:grid;grid-template-columns:repeat(16,1fr);align-items:start;margin-top:11px;min-height:24px}.chart .ccev{grid-row:1;font:700 clamp(14px,4vw,18px)/1.2 var(--mono);letter-spacing:-.01em;white-space:nowrap;padding:1px 0 3px 5px;min-width:0}.chart .clane{display:grid;grid-template-columns:repeat(calc(var(--per, 2) * 16),1fr);padding:1px 2px 0;min-height:49px;align-items:center}.chart .clev{font:400 11.5px/1.3 var(--sans);color:var(--dim);white-space:nowrap;padding:0 1px 0 4px;min-width:0;letter-spacing:-.01em}.chart .clline{min-height:49px;display:flex;align-items:center;font:400 13px/1.4 var(--sans);color:var(--dim);padding:0 2px}.chart .clline.inst{font-style:italic;color:var(--faint)}.chart.edit .ccg{grid-template-rows:26px 12px;align-items:stretch;min-height:40px}.ecev{position:relative;grid-row:1 / -1;display:flex;align-items:center;min-width:0;font:700 17px/1 var(--mono);letter-spacing:-.01em;white-space:nowrap;padding:0 2px 0 6px;margin:-17px 0 -8px;background:var(--amber-wash);cursor:grab;touch-action:none;user-select:none}.ecev.sel{background:var(--amber-dim);color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber-line)}.ecev .grip{position:absolute;right:-2px;top:0;bottom:0;width:16px;cursor:ew-resize;touch-action:none}.ecev.sel .grip:after{content:"";position:absolute;right:5px;top:25%;bottom:25%;width:3px;border-radius:2px;background:var(--amber)}.estrip{grid-row:2;grid-column:1 / -1;z-index:2;cursor:copy}.esec-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.esec-name{background:transparent;border:none;padding:2px 0;font:700 14.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);width:140px}.echip{font:700 10px/1 var(--mono);letter-spacing:.06em;padding:4px 7px;border-radius:4px;border:1px solid var(--line);color:var(--dim)}.echip.on{color:var(--blue);border-color:var(--blue-line)}.eaddsec{margin:16px 0 0;width:100%;padding:9px;border:1px dashed var(--line);border-radius:var(--r2);color:var(--faint);font:700 10px/1 var(--mono);letter-spacing:.1em}.kb{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--panel2);border-top:1px solid var(--line);box-shadow:0 -12px 40px #00000080;transform:translateY(105%);transition:transform .18s ease-out}.kb.open{transform:none}.kb-in{max-width:640px;margin:0 auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.kb-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.kb-preview{font:700 24px/1 var(--mono);color:var(--amber);min-width:90px}.kb-row{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:6px}.kb-row.q{grid-template-columns:repeat(6,1fr)}.kb-key{padding:10px 0;text-align:center;border:1px solid var(--line);border-radius:var(--r1);font:700 12.5px/1 var(--mono);color:var(--dim);background:var(--sink, var(--panel))}.kb-key.on{background:var(--amber-dim);border-color:var(--amber-line);color:var(--amber)}.kb-actions{display:flex;gap:8px;margin-top:12px}.kb-actions .btn{flex:1}.alignbar{background:var(--blue-deep);border:1px solid var(--blue-line);border-radius:var(--r2);padding:10px 12px;margin-top:8px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chipw{padding:6px 10px;border-radius:99px;border:1px solid var(--blue-line);color:var(--dim);font-size:13px}.chipw.active{background:var(--blue);color:var(--on-blue);border-color:var(--blue);font-weight:700}.chipw.placed{opacity:.35;text-decoration:line-through}:root{--bg: #0c0c0f;--panel: #18181b;--panel2: #1e1e22;--sink: #101014;--line: #2a2a30;--line-soft: #232328;--text: #f4f4f5;--dim: #a0a0a8;--faint: #8a8a92;--amber: #ffb347;--amber-dim: #221708;--amber-line: #8a6224;--amber-wash: rgba(255, 179, 71, .07);--blue: #8fb8ff;--blue-deep: #171c28;--blue-line: #2c3a55;--blue-wash: rgba(143, 184, 255, .07);--danger: #ff7a6b;--danger-line: #4a2a2e;--on-amber: #0c0c0f;--on-blue: #0c0c0f;--hair4: rgba(255, 255, 255, .11);--hair8: rgba(255, 255, 255, .05);--hairA: rgba(255, 255, 255, .045);--hairB: rgba(255, 255, 255, .025);--hatch: rgba(255, 255, 255, .025);--lift: 0 4px 14px rgba(0, 0, 0, .55);--focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--amber-line);--mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--fs-title: 19px;--fs-body: 14px;--fs-chord: 17px;--fs-label: 11px;--fs-micro: 9.5px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 36px;--r1: 6px;--r2: 9px;--r3: 14px}html[data-theme=light]{--bg: #f7f7f8;--panel: #ffffff;--panel2: #ffffff;--sink: #efeff1;--line: #e9e9e9;--line-soft: #f0f0f0;--text: #0a0a0a;--dim: #737373;--faint: #a3a3a3;--amber: #b45309;--amber-dim: #fdf1e0;--amber-line: #e5b678;--amber-wash: rgba(180, 83, 9, .08);--blue: #2b5cd9;--blue-deep: #edf2ff;--blue-line: #c3d2f5;--blue-wash: rgba(43, 92, 217, .08);--danger: #c62828;--danger-line: #f0c5c5;--on-amber: #ffffff;--on-blue: #ffffff;--hair4: rgba(0, 0, 0, .12);--hair8: rgba(0, 0, 0, .05);--hairA: rgba(0, 0, 0, .07);--hairB: rgba(0, 0, 0, .04);--hatch: rgba(0, 0, 0, .04);--lift: 0 4px 14px rgba(0, 0, 0, .1)}html{background:var(--bg);transition:background-color .5s ease}*{box-sizing:border-box}body{margin:0;font:400 var(--fs-body) / 1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;transition:background-color .5s ease,color .5s ease}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}button:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r1)}.hello{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s5)}.wordmark{font:700 44px / 1 var(--mono);letter-spacing:.04em;text-transform:lowercase}.tagline{font:600 var(--fs-micro) / 1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}.seg button{padding:7px 12px;font:700 var(--fs-label) / 1 var(--mono);letter-spacing:.06em;color:var(--dim)}.seg button.on{background:var(--panel2);color:var(--text)}.shell{max-width:640px;margin:0 auto;padding:var(--s4)}.bar{display:flex;align-items:center;justify-content:space-between;padding:var(--s3) 0;border-bottom:1px solid var(--line)}.wordmark.sm{font-size:22px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--line);margin-left:6px}.dot.on{background:var(--amber)}.stack{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s5)}.h{font:700 var(--fs-label)/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--dim);margin:0}input{font:inherit;color:var(--text);background:var(--sink, var(--panel));border:1px solid var(--line);border-radius:var(--r1);padding:10px 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;border:1px solid var(--line);border-radius:var(--r2);font:700 var(--fs-label)/1 var(--mono);letter-spacing:.07em}.btn.primary{background:var(--amber);border-color:var(--amber);color:var(--on-amber)}.row{display:flex;gap:var(--s2)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:10px 0;border-top:1px solid var(--hair4)}.titleedit{border:none;background:transparent;padding:4px 0;font-weight:600;flex:1}.reject{color:var(--danger);font:600 12px/1.4 var(--mono)}.sel{user-select:all;word-break:break-all}.itemlink{color:var(--text);text-decoration:none;font-weight:600}.grow1{flex:1}.row.wrap{flex-wrap:wrap}.row.spread{justify-content:space-between}.btn.quiet{border-color:transparent;color:var(--dim)}.mini{width:64px;padding:6px 8px;font-size:12px}.mini.wide{width:120px}.handle{cursor:grab;touch-action:none;color:var(--faint);padding:4px 8px 4px 0}.propcard{border-top:1px solid var(--hair4);padding:12px 0;display:flex;flex-direction:column;gap:6px}.difflist{margin:0;padding-left:18px;font:400 12.5px/1.6 var(--mono);color:var(--dim)}.tagline.open{color:var(--amber)}.reject.global{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:40;background:var(--panel2);border:1px solid var(--danger-line);padding:8px 14px;border-radius:99px}a.crumb{text-decoration:none}textarea.notes{font:400 13px/1.5 var(--sans);color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:var(--r1);padding:10px 12px;min-height:72px;resize:vertical}textarea.notes.tall{min-height:240px;font:400 13px/1.6 var(--mono);white-space:pre}
