:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--background: #f5f5f5;--card-bg: #ffffff;--text-primary: #333333;--text-secondary: #666666;--primary: #4f46e5;--primary-hover: #4338ca;--secondary: #e5e7eb;--secondary-hover: #d1d5db;--border: #d1d5db;--input-bg: #ffffff;--hover-bg: #f3f4f6;--tag-bg: #e0e7ff;--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--border-color: #d1d5db}:root[data-theme=dark]{--background: #1a1a1a;--card-bg: #2d2d2d;--text-primary: #e5e5e5;--text-secondary: #a3a3a3;--primary: #6366f1;--primary-hover: #4f46e5;--secondary: #3f3f3f;--secondary-hover: #525252;--border: #404040;--input-bg: #2d2d2d;--hover-bg: #404040;--tag-bg: #3730a3;--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--border-color: #404040}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--background);color:var(--text-primary)}#root{width:100%}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background)}.auth-card{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.auth-card h1{margin-bottom:1.5rem;text-align:center;color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:1rem;background:var(--input-bg);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-primary{width:100%;background:var(--primary);color:#fff;font-weight:600}.btn-primary:hover{background:var(--primary-hover)}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem}.auth-link{text-align:center;margin-top:1rem;color:var(--text-secondary)}.auth-link a{color:var(--primary);text-decoration:none}.auth-link a:hover{text-decoration:underline}.announcement-bar{display:flex;align-items:center;background:linear-gradient(90deg,#ff9800,#ff5722);color:#fff;padding:.5rem 1rem;font-size:.9rem;overflow:hidden;position:relative}.announcement-content{display:flex;align-items:center;flex:1;overflow:hidden;min-width:0}.announcement-icon{flex-shrink:0;margin-right:.5rem;font-size:1.1rem}.announcement-scroll{overflow:hidden;white-space:nowrap;flex:1}.announcement-text{display:inline-block;animation:announcement-marquee 15s linear infinite;padding-left:100%}@keyframes announcement-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.announcement-close{flex-shrink:0;background:transparent;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:0 .25rem;margin-left:.5rem;opacity:.8;transition:opacity .2s}.announcement-close:hover{opacity:1}.announcement-bar:hover .announcement-text{animation-play-state:paused}.site-footer{text-align:center;padding:1rem;font-size:.8rem;color:var(--text-secondary);background:var(--card-bg);border-top:1px solid var(--border);display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.site-footer a{color:var(--text-secondary);text-decoration:none}.site-footer a:hover{text-decoration:underline}
