*{
margin:0;
padding:0;
box-sizing:border-box;
transition: background 0.3s ease, color 0.3s ease, border-color 0.2s, box-shadow 0.2s;
}

body{
background:#0d1117;
font-family: 'Segoe UI', Arial, sans-serif;
color:white;
display:flex;
flex-direction: column;
justify-content:center;
align-items:center;
min-height:100vh;
padding:40px 20px;
gap: 30px;
}

body.light-mode {
background:#f4f6f9;
color:#161b22;
}

.theme-toggle {
position: fixed;
top: 20px;
right: 20px;
background: #21262d;
border: none;
font-size: 20px;
padding: 10px;
border-radius: 50%;
cursor: pointer;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
z-index: 10;
}

body.light-mode .theme-toggle {
background: white;
}

.container{
width:100%;
max-width:600px;
background:#161b22;
padding:35px;
border-radius:16px;
box-shadow: 0 12px 30px rgba(0,0,0,0.4);
}

body.light-mode .container {
background: white;
box-shadow: 0 12px 30px rgba(0,0,0,0.06);
}

.hub-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}

.status-indicator {
display: flex;
align-items: center;
gap: 8px;
margin-top: 4px;
}

.status-dot {
width: 9px;
height: 9px;
background-color: #22c55e;
border-radius: 50%;
display: inline-block;
box-shadow: 0 0 10px #22c55e;
}

.status-text {
font-size: 13px;
color: #9ca3af;
}

.gh-btn {
background: #24292e;
color: white;
text-decoration: none;
padding: 8px 16px;
border-radius: 8px;
font-size: 13px;
font-weight: 600;
border: 1px solid #30363d;
display: inline-block;
}

body.light-mode .gh-btn {
background: #f6f8fa;
color: #24292e;
border-color: #d0d7de;
}

.gh-btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

h1{
font-size: 30px;
font-weight: 700;
}

p{
margin-bottom: 25px;
color:#9ca3af;
font-size: 14px;
line-height: 1.5;
}

label{
display:block;
margin-top:18px;
margin-bottom:6px;
font-weight: 600;
font-size: 14px;
color: #e6edf3;
}

body.light-mode label {
color: #24292e;
}

.textarea-header {
display: flex;
justify-content: space-between;
align-items: flex-end;
}

#char-counter {
font-size: 12px;
color: #9ca3af;
margin-bottom: 6px;
}

input,
textarea,
select{
width:100%;
padding:14px;
border:2px solid #30363d;
border-radius:10px;
background:#21262d;
color:white;
outline:none;
font-size: 15px;
font-family: inherit;
}

body.light-mode input,
body.light-mode textarea,
body.light-mode select {
background: #edf2f7;
color: #1a202c;
border-color: #e2e8f0;
}

input:focus,
textarea:focus,
select:focus{
border-color: #5865F2;
box-shadow: 0 0 0 4px rgba(88, 101, 242, 0.15);
}

textarea{
height:150px;
resize:none;
}

button[type="submit"]{
margin-top:25px;
width:100%;
padding:14px;
background:#5865F2;
border:none;
border-radius:10px;
color:white;
font-size:16px;
font-weight: 600;
cursor:pointer;
box-shadow: 0 4px 12px rgba(88, 101, 242, 0.3);
}

button[type="submit"]:hover:not(:disabled){
background:#4752c4;
transform: translateY(-1px);
}

button[type="submit"]:disabled {
background: #3c4270;
color: #9ca3af;
cursor: not-allowed;
opacity: 0.6;
box-shadow: none;
}

body.light-mode button[type="submit"]:disabled {
background: #cbd5e1;
color: #94a3b8;
}

#success{
margin-top:15px;
text-align:center;
font-weight: 600;
}

.success-screen{
display:none;
position:fixed;
inset:0;
background:#0d1117;
justify-content:center;
align-items:center;
flex-direction:column;
z-index:9999;
}

body.light-mode .success-screen {
background: #f4f6f9;
}

.success-screen.show{
display:flex;
}

.checkmark{
width:120px;
height:120px;
border-radius:50%;
background:#22c55e;
display:flex;
align-items:center;
justify-content:center;
font-size:60px;
color:white;
box-shadow: 0 0 20px rgba(34, 197, 94, 0.4);
animation:pop .5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.success-screen h2{
margin-top:24px;
font-size:34px;
font-weight: 700;
animation:fadeIn 0.5s ease 0.2s both;
}

.success-screen p{
margin-top:12px;
color:#9ca3af;
font-size:16px;
animation:fadeIn 0.5s ease 0.4s both;
}

.reset-button {
margin-top: 35px;
padding: 14px 28px;
background: #21262d;
color: white;
border: 1px solid #30363d;
border-radius: 10px;
cursor: pointer;
font-size: 15px;
font-weight: 600;
animation: fadeIn 0.5s ease 0.6s both;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

body.light-mode .reset-button {
background: white;
color: #161b22;
border: 1px solid #cbd5e1;
}

.reset-button:hover {
background: #30363d;
transform: translateY(-1px);
}

body.light-mode .reset-button:hover {
background: #f1f5f9;
}

footer {
width: 100%;
max-width: 600px;
border-top: 1px solid #21262d;
padding-top: 25px;
margin-top: 10px;
}

body.light-mode footer {
border-top-color: #cbd5e1;
}

.footer-inner {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 20px;
}

.footer-brand {
font-weight: 700;
font-size: 17px;
}

.footer-tagline {
font-size: 13px;
color: #9ca3af;
margin-top: 6px;
line-height: 1.4;
}

.socials {
display: flex;
gap: 12px;
}

.social-btn {
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
color: white;
font-size: 13px;
font-weight: 600;
padding: 10px 14px;
border-radius: 8px;
background: #21262d;
border: 1px solid #30363d;
}

body.light-mode .social-btn {
background: white;
color: #161b22;
border-color: #cbd5e1;
}

.social-btn:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 25px;
font-size: 13px;
color: #9ca3af;
}

.footer-made {
font-weight: 500;
}

@media (max-width: 550px) {
  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
  .socials {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
}

@keyframes pop{
0%{ transform:scale(0); }
70%{ transform:scale(1.1); }
100%{ transform:scale(1); }
}

@keyframes fadeIn{
from{ opacity:0; transform:translateY(10px); }
to{ opacity:1; transform:translateY(0); }
}