/* Shared public shell only; no account or private application styles. */
:root { color-scheme: dark; --focus: #9ac7ff; --surface: #11141c; --ink: #f5f5f7; --text-secondary: #9da1ae; }
* { box-sizing: border-box; }
html { min-width: 320px; scroll-padding-top: 120px; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
svg { display: inline-block; vertical-align: middle; flex-shrink: 0; }
button > svg, a > svg { pointer-events: none; }
h1, h2, h3, p { margin: 0; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 12px 18px; border-radius: 8px; transform: translateY(-160%); font-weight: 600; }
.skip-link:focus { transform: translateY(0); }
.app-shell { min-height: 100vh; min-height: 100dvh; }
.main-shell { min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 35; display: flex; align-items: center; min-height: 84px; }
.page-content { width: 100%; }
.site-preview-badge { display: inline-flex; align-items: center; flex-shrink: 0; padding: 4px 8px; border: 1px solid #ffffff1a; border-radius: 20px; color: #a5adbb; font-size: 9px; font-weight: 500; letter-spacing: .2px; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border: 0; border-radius: 10px; background: transparent; color: #dce6f5; }
.icon-btn:hover { background: #ffffff0c; }
#design-dialog { width: min(960px, calc(100% - 40px)); max-height: min(88dvh, 900px); margin: auto; padding: 0; border: 1px solid #ffffff1c; border-radius: 24px; background: #11141c; color: #f5f5f7; box-shadow: 0 28px 100px #0008; overflow: auto; }
#design-dialog:not([open]) { display: none; }
#design-dialog::backdrop { background: #000b; backdrop-filter: blur(8px); }
.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 25px; border-bottom: 1px solid #ffffff1a; }
.modal-head h2 { font-size: 24px; line-height: 1.25; font-weight: 600; letter-spacing: -.65px; }
.modal-head .icon-btn { margin-right: -8px; }
.modal-body { padding: 25px; }
body.modal-open { overflow: hidden; }
@media(max-width:780px) { .modal-head { padding: 20px; } .modal-head h2 { font-size: 21px; } .modal-body { padding: 20px; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
