/* Strand design tokens (dna-strand, dc-xib). Generated by `cargo xtask app bundle`. */
:root {
  color-scheme: light;
  --dna-theme: cockpit-light;
  --dna-density: working;
  --dna-bg: #F4F7F8;
  --dna-paper: #FFFFFF;
  --dna-paper-2: #EEF2F4;
  --dna-ink: #17282E;
  --dna-ink-2: #48606A;
  --dna-ink-3: #5B717B;
  --dna-line: #D5DFE3;
  --dna-line-soft: #E4EBEE;
  --dna-chrome: #193F49;
  --dna-chrome-2: #12303A;
  --dna-chrome-ink: #DFEEF2;
  --dna-chrome-ink-2: #8FB3BC;
  --dna-accent: #318995;
  --dna-accent-soft: #E2EEF0;
  --dna-amber: #FFB301;
  --dna-amber-soft: #FFF4DB;
  --dna-green-soft: #E4EFEC;
  --dna-signal-soft: #FFEDDB;
  --dna-red-soft: #F8E1E0;
  --dna-accent-ink: #1B5F6B;
  --dna-value-ink: #2E6E5B;
  --dna-prov-const: #2D6A8A;
  --dna-prov-ext: #A35400;
  --dna-red-ink: #D02A23;
  --dna-radius-chip: 5px;
  --dna-radius-card: 9px;
  --dna-radius-panel: 14px;
  --dna-gap-1: 2px;
  --dna-gap-2: 4px;
  --dna-gap-3: 6px;
  --dna-gap-4: 10px;
  --dna-gap-5: 14px;
  --dna-gap-6: 22px;
  --dna-motion-min: 120ms;
  --dna-motion-max: 160ms;
  --dna-line-height: 1.35;
  --dna-measure: none;
}
@media (prefers-color-scheme: dark) {
:root:not([data-dna-theme]) {
  color-scheme: dark;
  --dna-theme: cockpit-dark;
  --dna-density: working;
  --dna-bg: #0E1A1F;
  --dna-paper: #1A262B;
  --dna-paper-2: #152126;
  --dna-ink: #E2ECEF;
  --dna-ink-2: #9FB4BB;
  --dna-ink-3: #7D97A0;
  --dna-line: #2D3F46;
  --dna-line-soft: #24343B;
  --dna-chrome: #0F2229;
  --dna-chrome-2: #0C1C22;
  --dna-chrome-ink: #DFEEF2;
  --dna-chrome-ink-2: #7FA2AC;
  --dna-accent: #3DB6CF;
  --dna-accent-soft: #224952;
  --dna-amber: #FFB301;
  --dna-amber-soft: #514821;
  --dna-green-soft: #233E3D;
  --dna-signal-soft: #513C21;
  --dna-red-soft: #462729;
  --dna-accent-ink: #4FC0D8;
  --dna-value-ink: #74C7AB;
  --dna-prov-const: #7DB8D8;
  --dna-prov-ext: #F0A35C;
  --dna-red-ink: #E4625C;
  --dna-radius-chip: 5px;
  --dna-radius-card: 9px;
  --dna-radius-panel: 14px;
  --dna-gap-1: 2px;
  --dna-gap-2: 4px;
  --dna-gap-3: 6px;
  --dna-gap-4: 10px;
  --dna-gap-5: 14px;
  --dna-gap-6: 22px;
  --dna-motion-min: 120ms;
  --dna-motion-max: 160ms;
  --dna-line-height: 1.35;
  --dna-measure: none;
}
}
:root[data-dna-theme="cockpit-light"] {
  color-scheme: light;
  --dna-theme: cockpit-light;
  --dna-density: working;
  --dna-bg: #F4F7F8;
  --dna-paper: #FFFFFF;
  --dna-paper-2: #EEF2F4;
  --dna-ink: #17282E;
  --dna-ink-2: #48606A;
  --dna-ink-3: #5B717B;
  --dna-line: #D5DFE3;
  --dna-line-soft: #E4EBEE;
  --dna-chrome: #193F49;
  --dna-chrome-2: #12303A;
  --dna-chrome-ink: #DFEEF2;
  --dna-chrome-ink-2: #8FB3BC;
  --dna-accent: #318995;
  --dna-accent-soft: #E2EEF0;
  --dna-amber: #FFB301;
  --dna-amber-soft: #FFF4DB;
  --dna-green-soft: #E4EFEC;
  --dna-signal-soft: #FFEDDB;
  --dna-red-soft: #F8E1E0;
  --dna-accent-ink: #1B5F6B;
  --dna-value-ink: #2E6E5B;
  --dna-prov-const: #2D6A8A;
  --dna-prov-ext: #A35400;
  --dna-red-ink: #D02A23;
  --dna-radius-chip: 5px;
  --dna-radius-card: 9px;
  --dna-radius-panel: 14px;
  --dna-gap-1: 2px;
  --dna-gap-2: 4px;
  --dna-gap-3: 6px;
  --dna-gap-4: 10px;
  --dna-gap-5: 14px;
  --dna-gap-6: 22px;
  --dna-motion-min: 120ms;
  --dna-motion-max: 160ms;
  --dna-line-height: 1.35;
  --dna-measure: none;
}
:root[data-dna-theme="cockpit-dark"] {
  color-scheme: dark;
  --dna-theme: cockpit-dark;
  --dna-density: working;
  --dna-bg: #0E1A1F;
  --dna-paper: #1A262B;
  --dna-paper-2: #152126;
  --dna-ink: #E2ECEF;
  --dna-ink-2: #9FB4BB;
  --dna-ink-3: #7D97A0;
  --dna-line: #2D3F46;
  --dna-line-soft: #24343B;
  --dna-chrome: #0F2229;
  --dna-chrome-2: #0C1C22;
  --dna-chrome-ink: #DFEEF2;
  --dna-chrome-ink-2: #7FA2AC;
  --dna-accent: #3DB6CF;
  --dna-accent-soft: #224952;
  --dna-amber: #FFB301;
  --dna-amber-soft: #514821;
  --dna-green-soft: #233E3D;
  --dna-signal-soft: #513C21;
  --dna-red-soft: #462729;
  --dna-accent-ink: #4FC0D8;
  --dna-value-ink: #74C7AB;
  --dna-prov-const: #7DB8D8;
  --dna-prov-ext: #F0A35C;
  --dna-red-ink: #E4625C;
  --dna-radius-chip: 5px;
  --dna-radius-card: 9px;
  --dna-radius-panel: 14px;
  --dna-gap-1: 2px;
  --dna-gap-2: 4px;
  --dna-gap-3: 6px;
  --dna-gap-4: 10px;
  --dna-gap-5: 14px;
  --dna-gap-6: 22px;
  --dna-motion-min: 120ms;
  --dna-motion-max: 160ms;
  --dna-line-height: 1.35;
  --dna-measure: none;
}
:root[data-dna-theme="high-contrast"] {
  color-scheme: light;
  --dna-theme: high-contrast;
  --dna-density: working;
  --dna-bg: #F2F5F6;
  --dna-paper: #FFFFFF;
  --dna-paper-2: #E7ECEE;
  --dna-ink: #17282E;
  --dna-ink-2: #3C5059;
  --dna-ink-3: #405056;
  --dna-line: #B9C4C8;
  --dna-line-soft: #D6DEE1;
  --dna-chrome: #0A171C;
  --dna-chrome-2: #050D10;
  --dna-chrome-ink: #DFEEF2;
  --dna-chrome-ink-2: #8FB3BC;
  --dna-accent: #318995;
  --dna-accent-soft: #E2EEF0;
  --dna-amber: #FFB301;
  --dna-amber-soft: #FFF4DB;
  --dna-green-soft: #E4EFEC;
  --dna-signal-soft: #FFEDDB;
  --dna-red-soft: #F8E1E0;
  --dna-accent-ink: #18545F;
  --dna-value-ink: #245647;
  --dna-prov-const: #23526B;
  --dna-prov-ext: #783E00;
  --dna-red-ink: #961E19;
  --dna-radius-chip: 5px;
  --dna-radius-card: 9px;
  --dna-radius-panel: 14px;
  --dna-gap-1: 2px;
  --dna-gap-2: 4px;
  --dna-gap-3: 6px;
  --dna-gap-4: 10px;
  --dna-gap-5: 14px;
  --dna-gap-6: 22px;
  --dna-motion-min: 120ms;
  --dna-motion-max: 160ms;
  --dna-line-height: 1.35;
  --dna-measure: none;
}
/* formula-field.css: moved from apps/dna-onecalc/src/formula_field.rs (FORMULA_FIELD_CSS), dc-xib. */
.oc-editor{position:relative;font:15px/1.5 ui-monospace,"Cascadia Mono",Consolas,monospace;border:1px solid var(--dna-ink-3);border-radius:6px;background:var(--dna-paper);min-height:3em}
.oc-editor pre,.oc-editor textarea{margin:0;padding:8px 10px;white-space:pre-wrap;word-break:break-all;font:inherit;letter-spacing:normal;tab-size:4;box-sizing:border-box;width:100%;min-height:3em;border:0}
.oc-editor pre{position:absolute;inset:0;pointer-events:none;color:var(--dna-ink);overflow:hidden}
.oc-editor textarea{position:relative;display:block;resize:vertical;background:transparent;color:transparent;caret-color:var(--dna-ink);outline:none}
.oc-editor:focus-within{border-color:var(--dna-accent);box-shadow:0 0 0 2px var(--dna-accent-soft)}
.oc-r-function{color:var(--dna-accent-ink);font-weight:600}.oc-r-name{color:var(--dna-accent-ink)}.oc-r-number{color:var(--dna-value-ink)}
.oc-r-text{color:var(--dna-prov-const)}.oc-r-error{color:var(--dna-red-ink);font-weight:600}.oc-r-operator{color:var(--dna-prov-ext)}
.oc-r-delimiter{color:var(--dna-ink-3)}.oc-r-unknown{color:var(--dna-red-ink);text-decoration:underline wavy}
.oc-diag{text-decoration:underline wavy var(--dna-red-ink);text-decoration-skip-ink:none}
.oc-bracket{background:var(--dna-accent-soft);outline:1px solid var(--dna-accent);border-radius:2px}
.oc-pop{list-style:none;margin:4px 0 0;padding:2px;border:1px solid var(--dna-ink-3);border-radius:6px;max-height:220px;overflow:auto;background:var(--dna-paper);font:13px ui-monospace,Consolas,monospace;box-shadow:0 4px 12px #0002}
.oc-pop li{padding:2px 8px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}
.oc-pop li.oc-sel{background:var(--dna-accent-ink);color:var(--dna-paper)}
.oc-pop li small{opacity:.75}
.oc-sig{margin:6px 0;font:13px ui-monospace,Consolas,monospace;background:var(--dna-paper-2);border:1px solid var(--dna-line);border-radius:6px;padding:4px 8px}
.oc-sig strong{color:var(--dna-accent);text-decoration:underline}
.oc-help{border:1px solid var(--dna-line);border-radius:6px;padding:8px 10px;margin:8px 0;background:var(--dna-paper-2);font-size:13px}
.oc-help h3{margin:0 0 4px;font:600 14px ui-monospace,Consolas,monospace}
.oc-help code{font-size:13px}
.oc-help p{margin:4px 0}
.oc-help .oc-help-source{margin:0 0 4px;font-size:11px;color:var(--dna-ink-3)}
.oc-help .oc-help-source a{color:var(--dna-accent-ink)}
/* surface.css: moved from apps/dna-onecalc/src/surface.rs (SURFACE_CSS), dc-xib. */
/* The page (moved from web/index.html). */
html, body { margin: 0; background: var(--dna-paper); color: var(--dna-ink); }
#onecalc-loading { font-family: system-ui, sans-serif; color: var(--dna-ink-3); padding: 16px; }
.oc{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--dna-ink);max-width:1100px;margin:0 auto;padding:16px}
.oc h1{font-size:20px;margin:0 0 4px}
.oc .oc-sub{color:var(--dna-ink-3);margin:0 0 16px;font-size:13px}
.oc-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.oc-col{flex:1 1 420px;min-width:0}
.oc-gridwrap{overflow-x:auto;max-width:100%}
.oc-result{border:1px solid var(--dna-line);border-radius:6px;padding:8px 10px;margin:8px 0}
.oc-kind{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:var(--dna-line-soft);color:var(--dna-ink-2);border-radius:10px;padding:1px 8px;margin-right:8px}
.oc-value{font:600 18px ui-monospace,Consolas,monospace}
.oc-err{color:var(--dna-red-ink)}
.oc-prov{color:var(--dna-ink-3);font-size:12px;margin:6px 0 0}
.oc-diags{color:var(--dna-red-ink);margin:6px 0;padding-left:20px}
.oc-reads{color:var(--dna-ink-2);font-size:12px;margin:6px 0;padding-left:20px}
.oc-array{border-collapse:collapse;margin:6px 0;font:13px ui-monospace,Consolas,monospace}
.oc-array td{border:1px solid var(--dna-line);padding:2px 8px;height:22px;min-width:56px;white-space:nowrap}
.oc-array td[data-kind=number]{text-align:right}
.oc-array td[data-kind=error]{color:var(--dna-red-ink)}
.oc-grid{border-collapse:collapse;font:13px ui-monospace,Consolas,monospace}
.oc-grid th{background:var(--dna-paper-2);color:var(--dna-ink-3);font-weight:400;border:1px solid var(--dna-line);padding:0 6px;min-width:20px}
.oc-grid td{border:1px solid var(--dna-line);padding:0}
.oc-grid input{border:0;width:64px;padding:2px 4px;font:inherit;box-sizing:border-box;background:transparent}
.oc-grid input:focus{outline:2px solid var(--dna-accent)}
.oc-grid td.oc-formula{background:var(--dna-amber-soft)}
.oc-grid td.oc-formula input{font-weight:600}
.oc-grid td.oc-refused{background:var(--dna-red-soft)}
.oc-grid input[data-kind=number]{text-align:right}
.oc-grid input[data-kind=error]{color:var(--dna-red-ink)}
.oc-panel{margin:12px 0}
.oc-fns{list-style:none;margin:6px 0;padding:0;max-height:320px;overflow:auto;border:1px solid var(--dna-line);border-radius:6px}
.oc-fns li{padding:3px 8px;border-bottom:1px solid var(--dna-line-soft);font-size:12px}
.oc-fns small{display:block;color:var(--dna-ink-3)}
.oc-fn{border:0;background:none;padding:0;cursor:pointer;color:var(--dna-accent-ink);font:600 12px ui-monospace,Consolas,monospace;text-align:left}
.oc-panel h2{font-size:14px;margin:0 0 6px;color:var(--dna-ink-2)}
.oc table.oc-inputs{border-collapse:collapse;font-size:13px}
.oc table.oc-inputs td,.oc table.oc-inputs th{padding:2px 4px;text-align:left}
.oc-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.oc-head h1{margin:0}
.oc-theme{font:12px system-ui,sans-serif}
/* Narrow screens and touch (dc-xib). */
@media (max-width:700px){
.oc{padding:10px}
.oc-col{flex-basis:100%}
}
@media (pointer:coarse){
.oc-grid input{min-height:36px}
.oc-fn,.oc-theme{min-height:36px}
}
