:root{--ink: #14170f;--ink-soft: #5c6353;--paper: #fbfaf6;--paper-dim: #f1f0e8;--bar: #eef3e7;--rule: #7d9c62;--rule-ink: #4f6a3a;--edge: #d9dbd0;--hair: #e6e7de;--grid: rgba(20, 23, 15, .035);--alarm: #a4381a;--alarm-tint: #f7e9e3;--mono: ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step: 8px}*{box-sizing:border-box}html,body{margin:0;background:var(--paper-dim);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;background-attachment:fixed}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.shell{max-width:1000px;margin:0 auto;padding:40px 20px 80px}.masthead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:12px}.wordmark{margin:0;font-family:var(--mono);font-size:clamp(28px,6vw,46px);font-weight:700;letter-spacing:-.03em;text-transform:uppercase}.wordmark span{color:var(--rule-ink)}.trust{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.masthead-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.langswitch{display:inline-flex;border:1px solid var(--ink)}.lang{border:0;background:var(--paper);color:var(--ink-soft);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 11px;min-height:26px}.lang+.lang{border-left:1px solid var(--ink)}.lang.is-active{background:var(--ink);color:var(--paper)}.intro{margin:26px 0 8px;max-width:62ch}.intro-headline{margin:0 0 8px;font-family:var(--mono);font-size:clamp(18px,3vw,23px);font-weight:700;letter-spacing:-.01em}.intro-body{margin:0;font-size:15px;line-height:1.55;color:var(--ink-soft)}.intro-privacy{margin:10px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--rule-ink)}.dropzone{position:relative;background:var(--paper);border:1px dashed var(--ink-soft)}.dropzone.is-loaded{border-style:solid}.dropzone textarea{display:block;width:100%;min-height:132px;resize:vertical;border:0;padding:18px 18px 18px 20px;background:transparent;color:var(--ink);font-family:var(--mono);font-size:13px;line-height:1.6;tab-size:8}.dropzone textarea:focus{outline:none}.dropzone:focus-within{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.zone-hint{position:absolute;inset:auto 18px 14px 20px;pointer-events:none;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-soft)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:14px;min-height:26px}.detected{display:inline-flex;align-items:baseline;gap:6px;font-size:13px;color:var(--ink-soft)}.detected strong{font-weight:600;color:var(--ink)}.detected-label{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.flavours{font-size:11px;color:var(--ink-soft);opacity:.75}.flavours code{font-family:var(--mono);font-size:11px;margin-left:5px}.badge{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border:1px solid var(--ink);background:var(--paper)}.badge.is-low{border-color:var(--alarm);color:var(--alarm);background:var(--alarm-tint);text-transform:none;letter-spacing:.02em;font-size:11px}.spacer{flex:1}.linkish{border:0;background:none;padding:6px 4px;min-height:26px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}.linkish:hover{color:var(--ink)}.warnings{margin-top:16px;border-left:3px solid var(--alarm);background:var(--alarm-tint);padding:12px 16px}.warnings h2{margin:0 0 6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--alarm)}.warnings ul{margin:0;padding-left:18px}.warnings li{font-size:14px;line-height:1.5}.warnings li+li{margin-top:4px}.section-label{display:flex;align-items:center;gap:10px;margin:48px 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.section-label:after{content:"";flex:1;height:1px;background:var(--hair)}.step{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--edge);background:var(--paper);font-size:10px;letter-spacing:0;color:var(--ink-soft)}.fanfold{display:flex;background:var(--paper);border:1px solid var(--edge);overflow:hidden}.sprockets{flex:0 0 22px;background-color:var(--paper);background-image:radial-gradient(circle at 11px 11px,var(--hair) 0 3px,transparent 3.5px);background-size:22px 22px;border-right:1px dashed var(--hair)}.sprockets.is-right{border-right:0;border-left:1px dashed var(--hair)}.sheet{flex:1;overflow-x:auto}.sheet table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:13px}.sheet td{padding:9px 14px;vertical-align:top;white-space:pre-wrap;border-right:1px solid rgba(20,23,15,.045)}.sheet tr:nth-child(2n) td{background:var(--bar)}.sheet tr.is-header td{background:var(--paper-dim);color:var(--ink);font-weight:700;border-bottom:2px solid var(--ink);position:sticky;top:0}.sheet td:last-child{border-right:0}.cell-empty{color:var(--ink-soft);opacity:.45}.empty-state{padding:34px 24px;font-size:15px;color:var(--ink-soft);max-width:52ch;line-height:1.6}.rowcount{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-soft);opacity:.85;margin-top:10px}.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--ink)}.tab{border:1px solid var(--edge);border-bottom:0;background:var(--paper-dim);padding:8px 13px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.tab.is-primary{padding:8px 20px;font-size:12px;color:var(--ink);border-color:var(--ink-soft)}.tab:hover:not([aria-selected=true]){color:var(--ink);background:var(--paper)}.tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.output{background:var(--paper);border:1px solid var(--edge);border-top:0}.output pre{margin:0;padding:18px 20px;max-height:380px;overflow:auto;font-family:var(--mono);font-size:13px;line-height:1.6;white-space:pre}.output-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:12px 16px;border-bottom:1px solid var(--hair);background:var(--paper-dim)}.option{display:inline-flex;align-items:center;gap:8px;min-height:26px;font-size:13px;color:var(--ink-soft);cursor:pointer}.option:hover{color:var(--ink)}.option input{accent-color:var(--rule);width:15px;height:15px}.option.is-disabled{opacity:.45}.copy{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:9px 22px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;transition:background .12s ease,color .12s ease}.copy:hover:not(:disabled){background:var(--rule);border-color:var(--rule);color:var(--ink)}.copy:disabled{opacity:.6;cursor:not-allowed}.note{margin:12px 0 0;font-size:13px;color:var(--ink-soft);line-height:1.55;max-width:72ch}.colophon{margin-top:56px;padding-top:14px;border-top:1px solid var(--edge);font-family:var(--mono);font-size:11px;letter-spacing:.05em;line-height:1.8;color:var(--ink-soft)}@media(max-width:760px){.masthead-right{align-items:flex-start}.section-label{margin-top:38px}}@media(max-width:560px){.sprockets{display:none}.shell{padding:24px 14px 60px}.intro-body{font-size:14px}.clean-table,.output pre{padding:14px}.toolbar{gap:6px 12px}}@media(max-width:400px){.shell{padding:20px 12px 52px}.tab{padding:8px 10px}.tab.is-primary{padding:8px 14px}.output-bar{padding:10px 12px}.output-bar .copy{width:100%;padding:10px 12px}.output-bar .spacer{display:none}.flavours{flex-basis:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.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}.tab-help{margin:10px 0 12px;font-size:13px;line-height:1.5;color:var(--ink-soft)}.warnings-lang{margin:10px 0 0;font-size:12px;font-style:italic;color:var(--ink-soft)}.clean-table{overflow-x:auto;padding:22px;background:var(--paper)}.clean-table table{border-collapse:collapse;font-size:14px;line-height:1.5}.clean-table th,.clean-table td{border:1px solid var(--hair);padding:9px 14px;text-align:left;vertical-align:top;white-space:pre-wrap}.clean-table th{background:var(--paper-dim);font-weight:700;border-bottom-color:var(--edge)}
