/* Shared product shell. Existing Lami pages retain their own layouts. */
.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; }
:root[data-theme=dark] { --bg:#090909; --surface:#101010; --surface-alt:#151515; --line:#272727; --line-strong:#414141; --ink:#f4f4f4; --mid:#aaa; --faint:#999; --deep:#d8d8d8; --hover:#202020; --on-ink:#101010; }
.praxim-brand { gap:13px; }
.praxim-brand>svg { flex-shrink:0; }
.praxim-brand>span { font-size:20px; font-weight:700; letter-spacing:2.4px; }
.praxim-brand .brand__caption { font-family:var(--font); font-size:10px; font-weight:400; letter-spacing:0; margin-top:4px; }
.praxim-nav-icon { display:flex; flex-shrink:0; }
.praxim-nav-status { margin-left:auto; font-size:9px; color:var(--mid); font-weight:400; }
.sidebar-note--praxim strong { font-size:13px; }
.public-page .wrap--praxim { max-width:1160px; }
.public-page .public-header { max-width:1160px; }
.praxim-welcome { display:grid; grid-template-columns:1.45fr 1fr; align-items:center; min-height:300px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); border-radius:18px; overflow:hidden; margin-bottom:42px; }
.praxim-welcome__copy { padding:40px; }
.praxim-welcome h1 { font-family:var(--font); font-weight:550; font-size:clamp(34px,4.1vw,55px); letter-spacing:-2.4px; line-height:1.12; margin:16px 0; }
.praxim-welcome .lede { max-width:340px; margin-bottom:24px; font-size:13px; }
.praxim-welcome .btn { padding-inline:18px; }
.praxim-welcome__art { position:relative; height:100%; min-height:300px; display:flex; align-items:center; justify-content:center; color:var(--ink); isolation:isolate; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:36px 36px; }
.praxim-welcome__art::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 0%,var(--surface) 76%); z-index:-1; }
.praxim-welcome__art svg { opacity:.85; transform:rotate(-8deg); }
.praxim-welcome__art>span { position:absolute; bottom:30px; font:9px var(--mono); letter-spacing:1.4px; color:var(--mid); }
.praxim-secondary { display:inline-flex; align-items:center; gap:5px; margin-left:14px; font-size:11px; text-decoration:none; color:var(--mid); }
.praxim-signin-note { margin:13px 0 0; font-size:11px; color:var(--mid); }
.praxim-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.praxim-section-heading .eyebrow { font-size:9px; margin-bottom:6px; }
.praxim-section-heading h2 { margin:0; font-size:23px; font-weight:500; letter-spacing:-.7px; }
.praxim-section-note { color:var(--mid); font-size:11px; padding-bottom:3px; }
.praxim-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.praxim-module { min-width:0; display:flex; flex-direction:column; padding:25px; border-radius:14px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); }
.praxim-module__top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:28px; }
.praxim-module__symbol { width:46px; height:46px; border-radius:12px; background:var(--surface-alt); box-shadow:inset 0 0 0 1px var(--line); display:grid; place-items:center; overflow:hidden; }
.praxim-module__symbol img { object-fit:cover; }
.praxim-module .tag { background:transparent; border:0; font-size:9px; padding:0; }
.praxim-module .status-dot { width:4px; height:4px; }
.praxim-module .eyebrow { font-size:9px; letter-spacing:1px; font-weight:500; margin-bottom:5px; }
.praxim-module h3 { font-size:22px; font-weight:550; letter-spacing:-.7px; margin:0 0 10px; }
.praxim-module__body>p:last-child { color:var(--mid); font-size:12px; line-height:1.8; margin-bottom:22px; }
.praxim-module__link { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:15px; border-top:1px solid var(--line); font-size:11px; text-decoration:none; }
.praxim-module__link:hover { text-decoration:underline; text-underline-offset:4px; }
.praxim-module--xarti { background:var(--surface-alt); }
.praxim-tools-note { display:flex; align-items:flex-start; gap:8px; color:var(--mid); font-size:10px; line-height:1.7; margin:18px 0 36px; }
.praxim-tools-note svg { flex-shrink:0; }
.praxim-next { display:flex; align-items:center; gap:24px; padding:28px; border-radius:14px; box-shadow:inset 0 0 0 1px var(--line); }
.praxim-next__icon { display:grid; place-items:center; width:52px; height:52px; flex-shrink:0; background:var(--surface); border-radius:14px; }
.praxim-next .eyebrow { font-size:9px; }
.praxim-next h2 { font-size:17px; font-weight:500; margin:0 0 5px; }
.praxim-next p:last-child { font-size:11px; color:var(--mid); margin:0; }
.praxim-next .btn { margin-left:auto; flex-shrink:0; }
.praxim-xarti-hero { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; padding:40px 0; }
.praxim-xarti-hero h1 { font:550 clamp(38px,4vw,55px)/1.12 var(--font); letter-spacing:-2px; margin-top:22px; }
.praxim-xarti-note { font-size:12px; line-height:1.8; color:var(--mid); max-width:370px; }
.praxim-route-art { position:relative; color:var(--ink); border-radius:22px; overflow:hidden; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); }
.praxim-route-art svg { display:block; width:100%; }
.praxim-route-art>span { position:absolute; bottom:15px; left:20px; font:8px var(--mono); color:var(--mid); letter-spacing:.8px; }
.praxim-map-roads { stroke:var(--line-strong); stroke-width:13; }
.praxim-map-route-halo { stroke:var(--surface); stroke-width:14; stroke-linejoin:round; }
.praxim-map-route { stroke:currentColor; stroke-width:5; stroke-dasharray:1 11; stroke-linecap:round; stroke-linejoin:round; }
.praxim-xarti-details { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.praxim-xarti-details h2 { margin:0 0 12px; }
.praxim-xarti-details p:not(.eyebrow) { color:var(--mid); font-size:12px; line-height:1.9; }
.praxim-xarti-details p:last-child { margin-bottom:0; }
@media(max-width:1150px) { .praxim-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .praxim-welcome__copy { padding:30px; } .praxim-secondary { display:flex; margin:14px 0 0; } .praxim-section-note { display:none; } }
@media(max-width:700px) { .praxim-welcome { grid-template-columns:1fr; min-height:0; margin-bottom:30px; } .praxim-welcome__copy { padding:30px 25px; } .praxim-welcome__art { display:none; } .praxim-welcome h1 { font-size:40px; } .praxim-module-grid { grid-template-columns:1fr; gap:12px; } .praxim-module { padding:22px; } .praxim-module__top { margin-bottom:20px; } .praxim-next { flex-wrap:wrap; padding:24px; gap:16px; } .praxim-next__icon { display:none; } .praxim-next .btn { margin-left:0; } .praxim-xarti-hero { grid-template-columns:1fr; padding-top:24px; gap:20px; } .praxim-xarti-details { grid-template-columns:1fr; } .praxim-route-art { max-width:440px; } }
