/* OmniCore Commerce Engine — language study page */
.omni-loading{padding:60px 20px;text-align:center;color:var(--dim);font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em}

.omni-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:36px 0 80px}

.omni-back{display:inline-block;margin-bottom:24px;color:var(--muted);font:10px var(--mono);text-decoration:none;letter-spacing:.1em;text-transform:uppercase}
.omni-back:hover{color:var(--green)}

/* Hero */
.omni-hero{position:relative;border:1px solid var(--line);background:linear-gradient(160deg,#10231f 0%,#0d1417 60%);padding:32px 36px 30px;margin-bottom:32px;display:grid;grid-template-columns:1fr 240px;gap:32px;align-items:start}
.omni-hero-kicker{font:10px var(--mono);color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.omni-hero h1{font-size:clamp(36px,4.5vw,52px);line-height:1;margin:0 0 14px;letter-spacing:-.04em}
.omni-hero-sub{color:var(--muted);font-size:14px;line-height:1.65;max-width:680px;margin:0 0 18px}
.omni-hero-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.omni-hero-chips span{font:9px var(--mono);letter-spacing:.06em;padding:5px 9px;border:1px solid rgba(99,230,190,.25);color:var(--green);text-transform:uppercase}
.omni-hero-ctas{display:flex;gap:18px;align-items:center}
.omni-hero-ctas a{font:10px var(--mono);text-decoration:none;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid transparent}
.omni-hero-ctas a:hover{color:var(--green);border-bottom-color:rgba(99,230,190,.4)}
.omni-hero-ctas a.primary{color:var(--green);border-bottom-color:rgba(99,230,190,.4)}
.omni-hero-aside{border-left:1px solid var(--line);padding-left:24px;display:flex;flex-direction:column;gap:10px}
.omni-fact{display:flex;justify-content:space-between;gap:10px;font:10px var(--mono)}
.omni-fact .k{color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.omni-fact .v{color:var(--text);text-align:right;text-transform:uppercase;letter-spacing:.04em}
.omni-status-pill{display:inline-block;padding:4px 8px;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase;background:rgba(99,230,190,.12);color:var(--green);border:1px solid rgba(99,230,190,.3);align-self:flex-start}

/* Sidebar + content */
.omni-shell{display:grid;grid-template-columns:210px 1fr;gap:32px;align-items:start}
.omni-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:18px;max-height:calc(100vh - 48px);overflow-y:auto;padding-right:8px}
.omni-sidebar h4{font:9px var(--mono);color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.omni-sidebar ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.omni-sidebar li a{display:block;padding:6px 8px;color:var(--muted);font:11px var(--display);letter-spacing:-.01em;text-decoration:none;border-left:2px solid transparent}
.omni-sidebar li a:hover{color:var(--green);border-left-color:rgba(99,230,190,.4)}
.omni-sidebar li a.active{color:var(--green);border-left-color:var(--green);background:rgba(99,230,190,.05)}

.omni-content{min-width:0;display:flex;flex-direction:column;gap:36px;max-width:100%;overflow:hidden}
.omni-section{padding-top:32px;border-top:1px solid var(--line);scroll-margin-top:24px;min-width:0;max-width:100%;overflow:hidden}
.omni-section:first-child{border-top:0;padding-top:0}
.omni-section-eyebrow{font:9px var(--mono);color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.omni-section h2{font-size:clamp(24px,2.6vw,34px);line-height:1.05;margin:0 0 14px;letter-spacing:-.03em}
.omni-section p{color:var(--muted);font-size:13.5px;line-height:1.7;margin:0 0 12px;max-width:760px}
.omni-section p strong{color:var(--text);font-weight:500}
.omni-section code{font:11px var(--mono);background:rgba(255,255,255,.04);padding:1px 5px;border-radius:2px;color:var(--green)}
.omni-section pre{font:11.5px/1.7 var(--mono);overflow-x:auto;max-width:100%;width:100%;min-width:0;white-space:pre;box-sizing:border-box}
@media(max-width:640px){
  .omni-section pre{white-space:pre-wrap;word-break:break-all;font-size:10.5px;line-height:1.55}
  .omni-surface{width:100%;max-width:100%;table-layout:fixed}
  .omni-surface th,.omni-surface td{word-break:break-word;overflow-wrap:break-word;padding:6px 6px}
  .omni-section{padding-right:2px}
  .omni-content{width:100%}
  .omni-practices{gap:10px}
  .omni-page{box-sizing:border-box}
}
.omni-section > pre + p{margin-top:14px}

/* Language surface table */
.omni-surface{width:100%;border-collapse:collapse;margin-top:14px}
.omni-surface th,.omni-surface td{text-align:left;padding:8px 10px;font:11px var(--mono);border-bottom:1px solid var(--line)}
.omni-surface th{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:400}
.omni-surface td{color:var(--text)}
.omni-surface td.applied{color:var(--green);text-align:center;width:80px}
.omni-surface td.applied.not{color:var(--dim)}
.omni-surface td a{color:var(--green);text-decoration:none}

/* Reference mapping */
.omni-refs{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px}
.omni-refs li{display:grid;grid-template-columns:230px 1fr;gap:14px;padding:8px 0;border-bottom:1px solid var(--line);font:11.5px var(--mono);align-items:start}
.omni-refs li .k{color:var(--green);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}
.omni-refs li .v{color:var(--text)}
.omni-refs li .v small{color:var(--dim);font-size:10.5px;margin-left:6px;text-transform:uppercase;letter-spacing:.06em}

/* Practices grid */
.omni-practices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.omni-practice{border:1px solid var(--line);padding:18px 20px;background:rgba(13,20,23,.55)}
.omni-practice h4{font:13px var(--display);font-weight:500;letter-spacing:-.01em;margin:0 0 4px;color:var(--text)}
.omni-practice .pid{font:9px var(--mono);color:var(--dim);letter-spacing:.1em;margin-bottom:10px}
.omni-practice .label{font:9.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-top:10px;margin-bottom:2px}
.omni-practice p{font-size:12px;line-height:1.55;margin:0 0 6px}
.omni-practice a{font:10px var(--mono);color:var(--green);text-decoration:none}
.omni-practice a:hover{text-decoration:underline}
.omni-practice .result{display:inline-block;padding:2px 7px;font:9px var(--mono);letter-spacing:.1em;background:rgba(99,230,190,.12);color:var(--green);border:1px solid rgba(99,230,190,.3);margin-top:6px}

/* ADR cards */
.omni-adr{border-left:2px solid rgba(99,230,190,.3);padding:14px 18px;margin:14px 0;background:rgba(13,20,23,.4)}
.omni-adr h4{font:13px var(--display);font-weight:500;margin:0 0 6px;color:var(--text)}
.omni-adr .adrid{font:9px var(--mono);color:var(--dim);letter-spacing:.1em;margin-bottom:8px}
.omni-adr .label{font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-top:6px;margin-bottom:1px}
.omni-adr p{font-size:12px;line-height:1.55;margin:0 0 4px}

/* Data & results */
.omni-results{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.omni-result-block{border:1px solid var(--line);padding:14px 16px;background:rgba(13,20,23,.45)}
.omni-result-block h5{font:9px var(--mono);color:var(--dim);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.omni-result-row{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font:10.5px var(--mono)}
.omni-result-row .k{color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.omni-result-row .v{color:var(--text);font-weight:500}
.omni-result-row .v.tag-real{color:var(--green)}
.omni-result-row .v.tag-pending{color:var(--dim)}

/* Evidence table */
.omni-evidence-table{width:100%;border-collapse:collapse;margin-top:14px}
.omni-evidence-table th,.omni-evidence-table td{padding:9px 10px;font:11px var(--mono);text-align:left;border-bottom:1px solid var(--line)}
.omni-evidence-table th{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:400;background:rgba(13,20,23,.45)}
.omni-evidence-table td.id{color:var(--green);letter-spacing:.04em}
.omni-evidence-table td.claim{color:var(--text);font-family:var(--body);font-size:12.5px;line-height:1.5;max-width:480px}
.omni-evidence-table td.status-v{color:var(--green);text-align:center;width:80px}
.omni-evidence-table td.links a{color:var(--green);text-decoration:none;margin-right:8px;font-size:10px}
.omni-evidence-table td.links a:hover{text-decoration:underline}

/* Capture preview */
.omni-capture{margin-top:14px;border:1px solid var(--line);background:rgba(13,20,23,.55);padding:12px;display:flex;flex-direction:column;gap:8px}
.omni-capture img{width:100%;height:auto;display:block;background:#0d1417}
.omni-capture-cap{font:9.5px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center}
.omni-capture-cap a{color:var(--green);text-decoration:none}

/* Security boundary */
.omni-security{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}
.omni-security-block{border:1px solid var(--line);padding:16px 18px;background:rgba(13,20,23,.45)}
.omni-security-block h5{font:9.5px var(--mono);text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.omni-security-block.in h5{color:var(--green)}
.omni-security-block.out h5{color:#df877e}
.omni-security-block ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.omni-security-block li{font:11.5px var(--mono);color:var(--text);padding-left:14px;position:relative;line-height:1.55}
.omni-security-block.in li:before{content:'+';position:absolute;left:0;color:var(--green)}
.omni-security-block.out li:before{content:'–';position:absolute;left:0;color:#df877e}

/* Reference basis */
.omni-basis{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.omni-basis a{display:block;padding:14px 16px;border:1px solid var(--line);background:rgba(13,20,23,.4);text-decoration:none;transition:background .2s}
.omni-basis a:hover{background:rgba(99,230,190,.06);border-color:rgba(99,230,190,.3)}
.omni-basis .b-kicker{font:9px var(--mono);color:var(--dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.omni-basis .b-title{font:14px var(--display);color:var(--green);margin-bottom:3px;letter-spacing:-.01em}
.omni-basis .b-desc{font:11px var(--mono);color:var(--muted);line-height:1.5}

@media(max-width:1100px){
  .omni-shell{grid-template-columns:1fr}
  .omni-sidebar{position:relative;top:0;max-height:none;flex-direction:row;overflow-x:auto;flex-wrap:wrap;gap:24px}
  .omni-sidebar ol{flex-direction:row;flex-wrap:wrap}
  .omni-sidebar li a{padding:4px 8px;border-left:0;border-bottom:2px solid transparent;white-space:nowrap}
  .omni-sidebar li a.active{border-bottom-color:var(--green);border-left:0}
  .omni-hero{grid-template-columns:1fr;gap:18px}
  .omni-hero-aside{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px}
  .omni-practices,.omni-security,.omni-basis{grid-template-columns:1fr}
  .omni-results{grid-template-columns:repeat(2,1fr)}
  .omni-refs li{grid-template-columns:1fr;gap:4px}
  .omni-security,.omni-basis{gap:14px}
}
@media(max-width:640px){
  .omni-page{width:calc(100% - 32px);padding:24px 0 60px}
  .omni-hero{padding:20px}
  .omni-results{grid-template-columns:1fr}
  .omni-evidence-table{font-size:10px}
  .omni-evidence-table th,.omni-evidence-table td{padding:7px 6px;word-break:break-word}
  .omni-evidence-table td.claim{max-width:none;font-size:11.5px}
  .omni-evidence-table td.links a{font-size:9px;margin-right:4px}
  .omni-security-block li{font-size:10.5px}
  .omni-basis a{padding:12px 14px}
  .omni-adr{padding:12px 14px}
  .omni-capture{padding:8px}
  .omni-section pre{font-size:10.5px;line-height:1.6;padding:14px 16px;overflow-x:auto;max-width:100%}
  .omni-hero h1{font-size:32px}
  .omni-surface th,.omni-surface td{padding:6px 8px;font-size:10.5px}
  .omni-surface td.applied{width:60px}
  .omni-content{min-width:0;max-width:100%;overflow:hidden}
  .omni-page{max-width:100%;overflow-x:hidden}
  body{overflow-x:hidden}
  .omni-section{max-width:100%}
  .omni-practices{gap:10px}
  .omni-practice{padding:14px 16px}
  .omni-result-block{padding:12px 14px}
  .omni-section p{font-size:13px}
}
