/* Orbit editorial: a compact cobalt signature, quiet reading surfaces, semantic signals.
   OriginKit Shine Card informed the static edge highlight; no shader or pointer animation. */
.crew-hero{background:radial-gradient(ellipse at 100% 0%,#7aa7ff1a,transparent 60%),var(--surface);border-top-color:#7aa7ff75}
.crew-hero h2 span{color:var(--accent)}
.crew-hero-orbit{color:var(--accent)}
.crew-hero-orbit::before{content:'';position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle,#7aa7ff20,transparent 70%)}
.crew-hero-orbit .orbit-disc{fill:var(--surface-2);stroke:#7aa7ff70;stroke-width:1}
.crew-hero-orbit .orbit-groove{fill:none;stroke:#7aa7ff24;stroke-width:1}
.crew-hero-orbit .orbit-path{fill:none;stroke:#7aa7ff70;stroke-width:1}
.crew-hero-orbit .orbit-signal{fill:var(--accent)}
.crew-hero-orbit .orbit-center{fill:var(--space);stroke:var(--accent);stroke-width:1.5}
.crew-post::before{content:'';position:absolute;left:22px;top:-1px;width:40px;height:2px;border-radius:2px;background:var(--post-accent)}
.crew-mission{background:linear-gradient(150deg,#7aa7ff0b,transparent 55%),var(--surface)}
.crew-planet-cover{background:radial-gradient(ellipse at 0 0,#7aa7ff15,transparent 65%),var(--surface)}
.crew-person{border-top-color:#7aa7ff55}
@media(max-width:700px){.crew-post::before{left:16px}}

/* #19: the web keeps the app skeleton; the current Feed/planet/editor CSS is in crew.css (PR #262). */
/* Flutter rounds these text line boxes to whole logical pixels. */
.crew-shell .crew-eyebrow{line-height:16px}
.professional .crew-shell .crew-post-title{line-height:27px}
.professional .crew-shell .crew-post:is([data-type=collaboration],[data-type=update]) .crew-post-title{line-height:26px}
.crew-shell .crew-post-text{line-height:23px}
.crew-app-loading-label{padding:16px 0;margin:0;font:400 14px/1.5 var(--sans);color:var(--muted)}
.crew-feed-skeleton{display:flow-root}.crew-feed-skeleton>.crew-app-skeleton-post{height:auto;padding:16px;margin-bottom:16px;border:1px solid #2c3a558f;border-radius:21px;background:var(--surface)}
.crew-app-skeleton-identity{display:flex;align-items:center;gap:16px;padding:12px 0}
.crew-app-skeleton-identity>div{flex:1;min-width:0}
.crew-feed-skeleton .crew-app-skeleton-planet{display:block;position:relative;flex:0 0 44px;width:44px;height:44px;margin:0;background:var(--surface-2);border:1.5px solid #7aa7ff59;border-radius:50%}
.crew-app-skeleton-planet::after{content:'';position:absolute;inset:20%;border:1px solid #2c3a55cc;border-radius:50%}
.crew-feed-skeleton span{display:block;height:12px;background:#2c3a5573;border-radius:6px;max-width:none;margin:12px 0 0}
.crew-app-skeleton-identity span:first-child{margin:0}
.crew-app-skeleton-media{aspect-ratio:1.6;border-radius:16px;background:var(--surface-2);display:grid;place-items:center;margin-top:12px}
.crew-feed-skeleton .crew-app-skeleton-media>i{width:72px;height:72px}
.crew-feed-skeleton .crew-app-skeleton-media+span{margin-top:20px}
.crew-feed-skeleton span.crew-app-skeleton-footer{height:18px;margin-top:24px}
.crew-feed-skeleton .crew-app-skeleton-post span{max-width:none}
.crew-app-skeleton-planet::after{inset:calc(20% + .6px)}
.crew-shell .crew-offline-banner{background:var(--surface-2);padding:8px 16px;border-bottom:1px solid var(--line);color:var(--text)}
.crew-shell .crew-offline-banner[hidden]{display:none}
.crew-shell .crew-offline-banner strong{display:block;font-size:14px;line-height:20px;font-weight:600}
.crew-shell .crew-offline-banner p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:18px;overflow-wrap:anywhere}
.crew-shell .crew-offline-banner button{display:block;min-width:48px;min-height:48px;color:var(--accent);background:transparent;border:0;padding:0;font-size:14px;line-height:20px;font-weight:500;text-align:left}
/* Push settings mirror PushSettingsScreen. Native permission sheets remain OS UI. */
dialog.wtg-push-settings{box-sizing:border-box;width:390px;max-width:100%;height:640px;max-height:100dvh;margin:auto;padding:0;border:1px solid #2c3a55;border-radius:16px;background:#070a12;color:#f8fafc;font:14px/1.5 Manrope,sans-serif;overflow:auto}
dialog.wtg-push-settings::backdrop{background:#0009}
.wtg-push-settings header{display:flex;align-items:center;height:56px;gap:16px;padding:0 16px 0 4px}
.wtg-push-settings header button{flex:0 0 48px;width:48px;height:48px;padding:0;border:0;background:transparent;color:#f8fafc;font-size:24px}
.wtg-push-settings header h2{margin:0;font:600 20px/1.12 SpaceGrotesk,sans-serif;letter-spacing:-.6px;color:#f8fafc}
.wtg-push-settings .wtg-push-body{padding:16px}
.wtg-push-settings h3{margin:0;font:600 20px/1.12 SpaceGrotesk,sans-serif;letter-spacing:-.6px;color:#f8fafc}
.wtg-push-settings p{margin:0;color:#a7b4c8;font-size:14px;line-height:1.5}
.wtg-push-settings .wtg-push-intro{margin:8px 0 16px}
.wtg-push-settings [data-push-toggle]{margin-top:8px;min-height:48px;padding:0 24px;border:1px solid #60718d;border-radius:12px;background:transparent;color:#f8fafc;font:500 14px/1.5 Manrope,sans-serif;letter-spacing:.1px}
.wtg-push-settings [data-push-toggle]:disabled{color:#f8fafc61;opacity:1}
.wtg-push-settings .wtg-push-categories{margin:16px 0}
.wtg-push-settings label{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;font:14px/1.5 Manrope,sans-serif;margin:0;padding:0}
.wtg-push-settings label input{position:absolute;right:0;opacity:0;width:60px;height:48px;margin:0;cursor:pointer}
.wtg-push-settings label span{flex:0 0 52px;width:52px;height:32px;border-radius:18px;box-sizing:border-box;background:#343c4e;border:2px solid #8591a9;position:relative;pointer-events:none;margin-right:4px}
.wtg-push-settings label span:before{content:'';position:absolute;left:6px;top:6px;width:16px;height:16px;border-radius:50%;background:#8591a9}
.wtg-push-settings label input:checked+span{background:#7aa7ff;border-color:#7aa7ff}
.wtg-push-settings label input:checked+span:before{left:22px;top:2px;width:24px;height:24px;background:#050a16}
.wtg-push-settings label input:disabled+span{background:#f8fafc1a;border-color:transparent}
.wtg-push-settings label input:disabled+span:before{background:#f8fafc61}
.wtg-push-settings label input:focus-visible+span{outline:2px solid #7aa7ff;outline-offset:4px}
.wtg-push-settings .wtg-push-note{font-size:12px;line-height:1.5}
.wtg-push-settings [data-push-error]:not(:empty){margin-top:16px;color:#ffb4b4}
.wtg-push-settings [data-push-retry]{min-height:48px;padding:0 16px;color:#7aa7ff;background:transparent;border:0}
@media(max-width:700px){dialog.wtg-push-settings{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0;margin:0;max-width:none}}
/* Reset inherited profile form/header styles on this shared app screen. */
dialog.wtg-push-settings header{justify-content:flex-start;border:0;margin:0;background:transparent}
dialog.wtg-push-settings header h2,dialog.wtg-push-settings h3{font-family:'Space Grotesk',sans-serif;line-height:22px;text-wrap:wrap}
dialog.wtg-push-settings p,dialog.wtg-push-settings label{letter-spacing:.25px;word-spacing:normal;font-weight:400;text-align:left}
dialog.wtg-push-settings label{flex-direction:row}
dialog.wtg-push-settings label:has(input:disabled){color:#f8fafc61}
dialog.wtg-push-settings label input:disabled:checked+span:before{background:#0e1320}
.professional dialog.wtg-push-settings header{padding:0 16px 0 4px;gap:20px;height:auto;min-height:56px}
.professional dialog.wtg-push-settings [data-push-toggle]{padding:0 23px}
