/* Public legal pages (privacy policy, terms of use). Flat: hairline rules and space, the brand's
   indigo for links only. Uses the app tokens from app.css so it matches the product. */

.legal-shell { min-height: 100vh; background: radial-gradient(circle at 85% 0%, rgba(34, 211, 238, .12), transparent 36%), radial-gradient(circle at 0% 28%, rgba(99, 102, 241, .1), transparent 34%), var(--bg-app); color: var(--text-primary); display: flex; flex-direction: column; }
.legal-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 820px; width: 100%; margin: 0 auto; padding: 22px 24px 0; }
.legal-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--text-primary); text-decoration: none; font-weight: 700; font-size: 1.05rem; }
.legal-brand img { border-radius: 8px; }
.legal-translation-note { margin: 0 0 14px; padding: 10px 14px; border-radius: 10px; background: var(--accent-blue-bg); color: var(--accent-blue-text); font-size: .86rem; line-height: 1.6; }

.legal-main { flex: 1; width: 100%; max-width: 820px; margin: 0 auto; padding: 20px 24px 40px; }
.legal-doc { background: var(--bg-primary); border: 1px solid var(--border-default); border-radius: 20px; padding: 36px 40px; box-shadow: 0 20px 54px rgba(35, 39, 91, .08); }
.legal-shell a:focus-visible { outline: 3px solid var(--accent-primary); outline-offset: 3px; }
.legal-eyebrow { margin: 0; color: var(--accent-primary); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.legal-doc h1 { margin: 6px 0 4px; font-size: clamp(1.7rem, 4vw, 2.2rem); line-height: 1.2; letter-spacing: -.02em; }
.legal-updated { margin: 0 0 18px; color: var(--text-muted); font-size: .85rem; }
.legal-lead { margin: 0 0 8px; font-size: 1rem; line-height: 1.75; color: var(--text-primary); }

.legal-section { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border-subtle); }
.legal-section h2 { margin: 0 0 10px; font-size: 1.1rem; line-height: 1.4; }
.legal-section p { margin: 0 0 12px; line-height: 1.8; color: var(--text-primary); }
.legal-section ul { margin: 0 0 12px; padding-left: 1.25rem; }
.legal-section li { margin: 0 0 8px; line-height: 1.75; }
.legal-doc a { color: var(--accent-hover); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-contact p { margin-bottom: 6px; }

.legal-foot { width: 100%; max-width: 820px; margin: 0 auto; padding: 0 24px 40px; color: var(--text-secondary); font-size: .84rem; }
.legal-foot nav { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 10px; }
.legal-foot a { color: var(--text-secondary); text-decoration: none; }
.legal-foot a:hover { color: var(--accent-hover); text-decoration: underline; }
.legal-foot p { margin: 0; color: var(--text-muted); }

@media (max-width: 640px) {
  .legal-top { padding: 16px 16px 0; }
  .legal-main { padding: 14px 16px 28px; }
  .legal-doc { padding: 24px 18px; border-radius: 12px; }
  .legal-foot { padding: 0 16px 28px; }
}

/* Public pages only. App screens retain their current layout. */
.legal-shell:has(.cm-public-start) .legal-top,.legal-shell:has(.cm-public-start) .legal-main,.legal-shell:has(.cm-public-start) .legal-foot{max-width:1200px}
.cm-public-start h1{font-size:clamp(2.2rem,4.5vw,3.6rem);letter-spacing:-.035em;line-height:1.18;margin:16px 0 22px;text-wrap:balance}
.cm-public-start h2{font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.3;margin:0 0 16px}
.cm-public-start p{line-height:1.8;color:var(--text-secondary)}
.cm-public-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding:54px 0 70px}
.cm-public-lead{font-size:1.08rem}
.cm-public-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.cm-public-note{font-size:.8rem;margin-top:14px}
.cm-public-photo{position:relative;margin:0;padding:14px 12px 36px}
.cm-public-photo>img:first-child{width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:45% 45% 24px 24px;box-shadow:0 24px 65px #28236525;border:6px solid var(--bg-primary)}
.cm-public-mascot{position:absolute;right:0;bottom:60px;border-radius:24px;box-shadow:0 14px 28px #231d5225}
.cm-public-photo figcaption{font-size:.75rem;color:var(--text-muted);margin-top:14px;text-align:center}
.cm-public-channels{text-align:center;padding:38px;border:1px solid var(--border-default);border-radius:28px;background:var(--bg-primary)}
.cm-public-platforms{display:flex;gap:28px;justify-content:center;margin-top:24px}
.cm-public-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:64px 0}
.cm-public-workflow article{padding:26px;border:1px solid var(--border-default);border-radius:22px;background:var(--bg-primary)}
.cm-public-workflow h2{font-size:1.3rem;margin-top:20px}
.cm-public-step{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--accent-blue-bg);color:var(--accent-blue-text);font-weight:800}
.cm-public-global{text-align:center;padding:32px 0 60px}
.cm-public-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.cm-public-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px}
.cm-public-languages{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:24px 0 30px}
.cm-public-languages span{border:1px solid var(--border-default);border-radius:99px;background:var(--bg-primary);padding:8px 14px;font-size:.85rem}
.cm-public-document{width:80px;height:80px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:24px;transform:rotate(-5deg);background:linear-gradient(135deg,var(--accent-blue-bg),var(--bg-primary));color:var(--accent-primary);box-shadow:0 12px 30px #29255b15;margin-bottom:24px}
.cm-status-mascot{border-radius:24px;box-shadow:0 15px 45px #30206520;margin-bottom:12px}
.legal-shell .cm-lang-menu{scrollbar-gutter:stable}
.legal-shell .cm-lang-menu::-webkit-scrollbar{width:10px}
.legal-shell .cm-lang-menu::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:99px;background:var(--accent-primary);background-clip:padding-box}
.legal-shell .cm-lang-menu::-webkit-scrollbar-button{display:none;width:0;height:0}
@media(prefers-reduced-motion:no-preference){.cm-public-photo{animation:cm-public-enter .9s ease-out both}.cm-public-workflow article{transition:transform .25s}.cm-public-workflow article:hover{transform:translateY(-5px)}}
@keyframes cm-public-enter{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@media(max-width:800px){.cm-public-hero{grid-template-columns:1fr;padding:32px 0 44px;gap:24px}.cm-public-photo{max-width:540px;justify-self:center}.cm-public-photo>img:first-child{aspect-ratio:16/12}.cm-public-workflow{grid-template-columns:1fr;padding:36px 0}.cm-public-channels{padding:26px 20px}}
@media(max-width:520px){.cm-public-gallery{gap:12px}.cm-public-gallery img{aspect-ratio:3/4;border-radius:16px}.cm-public-actions .cm-btn{flex:1;min-width:130px;justify-content:center}}

.cm-public-system{max-width:620px;margin:8vh auto;padding:32px;border:1px solid var(--border-default);border-radius:24px;background:var(--bg-primary)}.cm-public-system h1{font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.2}.cm-public-system p{color:var(--text-secondary);line-height:1.7}.cm-public-system code{overflow-wrap:anywhere}

.cm-public-photo>img:first-child,.cm-public-gallery img{height:auto}.cm-public-photo{width:100%;min-width:0}

.legal-shell .legal-eyebrow{color:#4338ca}[data-theme="dark"] .legal-shell .legal-eyebrow{color:#b8b0ff}
