/* Legal pages (terms, privacy, model license) and the commercial licensing page. */

.doc-updated { margin-top: 10px; color: var(--text-3, rgba(255,255,255,.45)); font-size: .82rem; }
.doc-kicker { color: var(--accent); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 10px; }
.doc-wide { max-width: 860px; }
.doc h3 { margin: 26px 0 10px; font-size: .98rem; font-weight: 800; }
.doc h3 small { margin-left: 8px; padding: 3px 9px; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; color: rgba(255,255,255,.6); font-size: .68rem; font-weight: 700; vertical-align: 2px; }
.doc-related { margin-top: 40px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); font-size: .88rem; }
.doc-callout { padding: 14px 16px; border-left: 2px solid var(--accent); border-radius: 0 10px 10px 0; background: rgba(232,100,45,.06); }

.doc-glance { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 16px 0 10px; }
.doc-glance > div { display: grid; gap: 6px; padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.02); }
.doc-glance i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; font-style: normal; font-weight: 800; font-size: .85rem; }
.doc-glance strong { font-size: .88rem; }
.doc-glance span { color: rgba(255,255,255,.6); font-size: .8rem; line-height: 1.55; }
.is-yes > i, td.is-yes { color: #6ede9f; } .doc-glance .is-yes i { background: rgba(80,200,140,.12); }
.is-no > i, td.is-no { color: #ff8a70; } .doc-glance .is-no i { background: rgba(255,110,90,.12); }
.is-warn > i, td.is-warn { color: #ffd36b; } .doc-glance .is-warn i { background: rgba(255,200,80,.12); }

.doc-table-wrap { overflow-x: auto; margin: 14px 0 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; }
.doc-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.doc-table th, .doc-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid rgba(255,255,255,.07); color: var(--text-2); }
.doc-table th { color: rgba(255,255,255,.5); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.doc-table tr:last-child td { border-bottom: 0; }
.doc-table td:last-child { width: 150px; font-weight: 800; white-space: nowrap; }

.doc-bases { display: grid; gap: 12px; margin: 14px 0 18px; }
.doc-bases article { padding: 4px 20px 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; }

.doc-faq { display: grid; gap: 8px; margin-top: 14px; }
.doc-faq details { border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 0 18px; background: rgba(255,255,255,.02); }
.doc-faq summary { padding: 15px 0; font-weight: 700; font-size: .92rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.doc-faq summary::-webkit-details-marker { display: none; }
.doc-faq summary::after { content: '+'; color: var(--accent); font-weight: 800; }
.doc-faq details[open] summary::after { content: '−'; }
.doc-faq details > p, .doc-faq details > ul { color: var(--text-2, rgba(255,255,255,.7)); line-height: 1.7; }
.doc-faq details > p { margin: 0 0 14px; }
.doc-faq details > ul { margin: 0 0 14px 20px; }
.doc-faq a { color: var(--accent); }

.doc-end { margin-top: 44px; padding: 28px; border: 1px solid rgba(232,100,45,.35); border-radius: 18px; background: linear-gradient(120deg, rgba(232,100,45,.08), transparent 60%); }
.doc-end h2 { margin-top: 0; }
.doc-end .work-btn { border-bottom: 1px solid rgba(255,255,255,.22); margin: 6px 8px 0 0; color: #fff; }
.doc-end .work-btn-primary { border-color: var(--accent); }

/* commercial licensing */
.lic-sub { margin-top: 10px; max-width: 640px; color: rgba(255,255,255,.64); line-height: 1.65; }
.lic-early { margin-top: 22px; max-width: 760px; padding: 14px 16px; border-left: 2px solid var(--accent); border-radius: 0 10px 10px 0; background: rgba(232,100,45,.06); color: rgba(255,255,255,.7); font-size: .88rem; line-height: 1.6; }
.lic-early strong { color: #fff; }
.lic-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; align-items: start; }
.lic-plan { display: grid; gap: 12px; padding: 26px 24px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(13,17,22,.7); }
.lic-plan.is-main { border-color: rgba(232,100,45,.55); background: linear-gradient(180deg, rgba(232,100,45,.08), rgba(13,17,22,.7) 40%); }
.lic-plan h3 { font-size: 1.05rem; }
.lic-price { margin-top: 10px; font-size: 2rem; font-weight: 900; letter-spacing: -.03em; }
.lic-price small { color: rgba(255,255,255,.5); font-size: .8rem; font-weight: 600; letter-spacing: 0; }
.lic-meta { color: rgba(255,255,255,.5); font-size: .78rem; }
.lic-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lic-tags span { padding: 4px 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; color: rgba(255,255,255,.7); font-size: .7rem; }
.lic-for { color: rgba(255,255,255,.64); font-size: .85rem; line-height: 1.6; }
.lic-plan h4 { margin-top: 4px; color: rgba(255,255,255,.45); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.lic-yes, .lic-no { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; font-size: .84rem; color: rgba(255,255,255,.78); }
.lic-yes li::before { content: '✓'; margin-right: 9px; color: #6ede9f; font-weight: 800; }
.lic-no li::before { content: '✗'; margin-right: 9px; color: #ff8a70; font-weight: 800; }
.lic-plan .work-btn { justify-content: center; margin-top: 8px; }

.lic-cert-section { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.lic-cert-section .lic-yes { margin-top: 18px; }
.lic-cert { padding: 28px; border: 1px solid rgba(232,100,45,.4); border-radius: 18px; background: linear-gradient(145deg, #15110e, #0c0f13); box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.lic-cert-top { display: flex; justify-content: space-between; color: var(--accent); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lic-cert h3 { margin-top: 22px; font-size: 1.5rem; letter-spacing: -.03em; }
.lic-cert-sub { margin-top: 4px; color: rgba(255,255,255,.55); font-size: .85rem; }
.lic-cert dl { display: grid; gap: 10px; margin-top: 22px; }
.lic-cert dl div { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px dashed rgba(255,255,255,.12); font-size: .86rem; }
.lic-cert dt { color: rgba(255,255,255,.5); }
.lic-cert dd { margin: 0; font-weight: 700; }
.lic-faq { max-width: 760px; }
.lic-ip { margin-top: 26px !important; color: rgba(255,255,255,.4) !important; font-size: .78rem !important; }

@media (max-width: 900px) {
  .lic-plans, .lic-cert-section { grid-template-columns: 1fr; }
  .doc-glance { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) { .doc-glance { grid-template-columns: 1fr; } }

/* Getting started guide */
.guide-toc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; margin: 22px 0 8px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.02); }
.guide-toc a { color: rgba(255,255,255,.75); font-size: .88rem; }
.guide-toc a:hover { color: var(--accent); }
.page-guide h2 { scroll-margin-top: 100px; }
.page-guide code, .page-guide kbd { padding: 1px 6px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; background: rgba(255,255,255,.05); font: .82em ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.guide-formats i { width: auto !important; min-width: 30px; padding: 0 8px; border-radius: 99px !important; font-size: .68rem !important; }
@media (max-width: 640px) { .guide-toc { grid-template-columns: 1fr; } }
