 {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 html,
 body {
     height: 100%;
 }

 body {
     min-height: 100vh;
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
     background: linear-gradient(160deg, #f0f4f8 0%, #e2e8f0 100%);
     color: #1e293b;
     padding: 1.5rem;
 }

 .card {
     max-width: 26rem;
     width: 100%;
     background: #fff;
     border-radius: 12px;
     padding: 2.5rem 2rem;
     text-align: center;
     box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
 }

 .icon {
     width: 3rem;
     height: 3rem;
     margin: 0 auto 1.25rem;
     border-radius: 50%;
     background: #e0f2fe;
     color: #0284c7;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.5rem;
 }

 .spinner {
     width: 1.35rem;
     height: 1.35rem;
     border: 2px solid #bae6fd;
     border-top-color: #0284c7;
     border-radius: 50%;
     animation: spin 0.8s linear infinite;
 }

 @keyframes spin {
     to {
         transform: rotate(360deg);
     }
 }

 h1 {
     font-size: 1.35rem;
     font-weight: 600;
     margin-bottom: 0.5rem;
 }

 p {
     font-size: 0.95rem;
     line-height: 1.5;
     color: #64748b;
 }

 body.is-idle .icon {
     background: #fef3c7;
     color: #d97706;
 }

 body.is-idle .spinner {
     display: none;
 }

 body.is-idle .gear {
     display: flex;
 }

 .gear {
     display: none;
 }