.ns-door-discovery { padding: var(--ns-space-5, 20px); color: var(--ns-text); background: var(--ns-surface); border: 1px solid var(--ns-border); border-radius: var(--ns-radius-lg, 16px); }
.ns-door-discovery h2 { margin: 0 0 var(--ns-space-2, 8px); font-size: 1.25rem; }
.ns-door-discovery p { color: var(--ns-text-2); margin: 0 0 var(--ns-space-3, 12px); }
.ns-door-discovery nav { display: flex; flex-wrap: wrap; gap: var(--ns-space-3, 12px); }
.ns-door-discovery a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ns-focus, #1a73e8); overflow-wrap: anywhere; }
.ns-door-discovery a:focus-visible, .m50-start a:focus-visible { outline: 2px solid var(--ns-focus, #1a73e8); outline-offset: 3px; }
/* Docs actions keep their button ink when the doors sheet colours ordinary links. */
.ns-docs-shell.ns-doors-gp .ns-btn-primary { background: var(--ns-gold); border-color: var(--ns-gold); color: var(--ns-on-accent); }
.m50-start.ns-doors-gp { font-family: var(--ns-font); color: var(--ns-text); max-width: 960px; }
.m50-start.ns-doors-gp nav { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.m50-start.ns-doors-gp .btn { display: flex; align-items: center; text-align: start; color: var(--ns-text); background: var(--ns-surface); border: 1px solid var(--ns-border); padding: var(--ns-space-3, 12px) var(--ns-space-4, 16px); }
.m50-start.ns-doors-gp .btn:hover { background: var(--ns-elevated); border-color: var(--ns-focus, #1a73e8); }

body:has(.m50-start.ns-doors-gp) { background: var(--ns-bg); }
.ns-door-discovery { font-family: var(--ns-font); }
@media (prefers-color-scheme: dark) { .ns-door-discovery, .m50-start { --ns-focus: #8ab4f8; } }

.m50-start.ns-doors-gp { margin-inline: auto; padding: 24px 16px; box-sizing: border-box; }
.m50-start.ns-doors-gp nav { gap: 12px; }
.m50-start.ns-doors-gp .ns-start-next { display: inline-flex; align-items: center; min-height: 44px; padding: 12px 20px; border-radius: var(--ns-radius); background: var(--ns-gold); color: var(--ns-on-accent); text-decoration: none; }
.m50-start.ns-doors-gp details { margin-top: 24px; border-color: var(--ns-border); background: var(--ns-card); }
.m50-start.ns-doors-gp summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; color: var(--ns-text); }
.m50-start.ns-doors-gp details[open] nav { margin-top: 16px; }
