:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#1a1a1a;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app{min-height:100vh;padding:20px}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff;text-align:center}.loading-spinner{font-size:3rem;animation:spin 2s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 40px #0000001a;text-align:center}.login-card h1{font-size:2.5rem;margin-bottom:.5rem;color:#333}.subtitle{color:#666;margin-bottom:2rem;font-size:1.1rem}.login-form{margin-bottom:2rem}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.handle-input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s}.handle-input:focus{outline:none;border-color:#667eea}.handle-input:disabled{background:#f5f5f5;cursor:not-allowed}.help-text{display:block;margin-top:.5rem;color:#666;font-size:.9rem}.login-button{width:100%;background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.login-button:hover:not(:disabled){background:#5a6fd8}.login-button:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:1rem;border-left:4px solid #dc2626}.security-notice{background:#f0f9ff;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.security-notice h3{color:#1e40af;margin-bottom:1rem}.security-notice ul{list-style:none}.security-notice li{margin-bottom:.5rem;color:#1e40af}.about{background:#f9fafb;padding:1.5rem;border-radius:8px;text-align:left}.about h3{margin-bottom:1rem;color:#333}.about p{margin-bottom:1rem;color:#666;line-height:1.6}.about code{background:#e5e7eb;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}.callback-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.callback-card{background:#fff;border-radius:16px;padding:3rem;max-width:400px;width:100%;box-shadow:0 20px 40px #0000001a;text-align:center}.callback-card h2{margin-bottom:2rem;color:#333}.status-message{font-size:1.2rem;margin-bottom:2rem;color:#666}.dashboard-container{max-width:800px;margin:0 auto}.dashboard-header{background:#fff;border-radius:16px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{color:#333;font-size:2rem}.user-info{display:flex;align-items:center;gap:1rem}.handle{color:#666;font-weight:500}.logout-button{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.logout-button:hover{background:#b91c1c}.dashboard-main{display:flex;flex-direction:column;gap:2rem}.error-banner{background:#fef2f2;color:#dc2626;padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem;border-left:4px solid #dc2626;display:flex;justify-content:space-between;align-items:center}.close-error{background:none;border:none;color:#dc2626;font-size:1.5rem;cursor:pointer;padding:0;margin-left:1rem}.status-update-section{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.status-update-section h2{margin-bottom:1.5rem;color:#333}.current-status{background:#f9fafb;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.current-status h3{margin-bottom:.5rem;color:#333;font-size:1rem}.status-display{display:flex;align-items:center;gap:.5rem}.status-emoji{font-size:1.5rem}.status-text{color:#333;font-weight:500}.status-time{color:#666;font-size:.9rem;margin-left:auto}.status-form{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:120px 1fr;gap:1rem;margin-bottom:1rem}.emoji-input-group,.text-input-group{display:flex;flex-direction:column}.emoji-input-group label,.text-input-group label{margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}.emoji-input,.text-input{padding:10px 12px;border:2px solid #e1e5e9;border-radius:6px;font-size:1rem;transition:border-color .2s}.emoji-input{text-align:center;font-size:1.2rem}.emoji-input:focus,.text-input:focus{outline:none;border-color:#667eea}.emoji-input:disabled,.text-input:disabled{background:#f5f5f5;cursor:not-allowed}.update-button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.update-button:hover:not(:disabled){background:#5a6fd8}.update-button:disabled{background:#ccc;cursor:not-allowed}.emoji-suggestions{margin-top:1rem}.emoji-suggestions p{margin-bottom:.5rem;color:#666;font-size:.9rem}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:.5rem;max-width:400px}.emoji-suggestion{background:#f9fafb;border:1px solid #e1e5e9;border-radius:6px;padding:8px;font-size:1.2rem;cursor:pointer;transition:background-color .2s}.emoji-suggestion:hover{background:#e5e7eb}.timeline-section{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.timeline-section h2{margin-bottom:.5rem;color:#333}.timeline-subtitle{color:#666;margin-bottom:2rem}.empty-timeline{text-align:center;padding:3rem 1rem;color:#666}.timeline{display:flex;flex-direction:column;gap:1rem}.status-item{border:1px solid #e1e5e9;border-radius:12px;padding:1.5rem;margin-bottom:1rem;transition:shadow .2s}.status-item:hover{box-shadow:0 2px 8px #0000001a}.status-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.author-info{display:flex;align-items:center;gap:.75rem}.author-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.author-details{display:flex;flex-direction:column}.author-name{font-weight:600;color:#333}.author-handle{color:#667eea;text-decoration:none;font-size:.9rem}.author-handle:hover{text-decoration:underline}.status-content{display:flex;align-items:center;gap:.75rem}.status-content .status-emoji{font-size:1.8rem}.status-content .status-text{color:#333;font-size:1.1rem}.refresh-button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:1rem}.refresh-button:hover:not(:disabled){background:#5a6fd8}.refresh-button:disabled{background:#ccc;cursor:not-allowed}.info-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #0000001a}.info-section h3{margin-bottom:1rem;color:#333}.info-content p{margin-bottom:1rem;color:#666;line-height:1.6}.info-content code{background:#e5e7eb;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}@media (max-width: 768px){.app{padding:10px}.login-card,.callback-card{padding:1.5rem}.dashboard-header{padding:1rem}.header-content{flex-direction:column;gap:1rem;text-align:center}.status-update-section,.timeline-section,.info-section{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.status-header{flex-direction:column;gap:1rem;align-items:flex-start}.status-item{padding:1rem}.emoji-grid{grid-template-columns:repeat(5,1fr)}}
