.welcome-shell { min-height: 100vh; display: grid; place-items: center; padding: var(--size-xl); } .welcome-card { width: min(900px, 100%); border-radius: var(--border-radius-lg); border: var(--border-width) solid var(--color-border); background: var(--color-bg-main); padding: var(--size-xl-padding); box-shadow: var(--shadow-md); } h1 { margin: 0 0 var(--size-xs); color: var(--color-text-primary); font-size: var(--heading-h1); } p { margin: 0 0 var(--size-lg); } .mode-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--size-xl-gap); } .mode { border: var(--border-width) solid var(--color-border); border-radius: var(--border-radius-md); padding: var(--size-lg-padding); text-align: left; display: grid; gap: var(--size-xs); } .mode span { font-size: 1.15rem; color: var(--color-text-primary); } .mode small { color: var(--color-text-primary); opacity: 0.9; } .mode-active { background: var(--color-secondary-mint); cursor: pointer; } .mode-active:hover:enabled { background: var(--color-secondary-blue); } .mode-disabled { background: var(--color-bg-card); opacity: 0.75; } .error { color: var(--color-text-primary); font-weight: 700; margin-top: var(--size-xl); } @media (max-width: 768px) { .welcome-shell { padding: var(--size-lg); } .welcome-card { padding: var(--size-xl); } h1 { font-size: var(--heading-h1-mobile); } p { font-size: 0.875rem; margin: 0 0 var(--size-lg); } .mode-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--size-md-gap); } .mode { padding: var(--size-md-padding); gap: var(--size-xs-gap); } .mode span { font-size: 1rem; } .mode small { font-size: 0.7rem; } .error { font-size: 0.75rem; } } @media (max-width: 480px) { .welcome-shell { padding: var(--size-sm); } .welcome-card { padding: var(--size-lg-padding); border-radius: var(--border-radius-md); } h1 { font-size: var(--heading-h1-small); margin: 0 0 var(--size-xs); } p { font-size: 0.8rem; margin: 0 0 var(--size-md); } .mode-grid { grid-template-columns: 1fr; } .mode { padding: var(--size-md-padding); } .mode span { font-size: 0.95rem; } }