:root{--theme-dark: #36393f;--theme-darker: #2f3136;--theme-darkest: #202225;--theme-light: #dcddde;--theme-muted: #b9bbbe;--theme-accent: #5865f2;--theme-success: #3ba55d;--theme-warning: #faa81a;--theme-danger: #ed4245;--theme-input: #40444b;--theme-border: #4f545c;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 2.5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", monospace;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--theme-dark);color:var(--theme-light);min-height:100vh;line-height:1.6}.container{max-width:800px;margin:0 auto;padding:0 var(--spacing-lg)}.btn{border:none;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-weight:500;cursor:pointer;transition:background-color var(--transition-normal),transform var(--transition-fast);text-decoration:none;display:inline-block;text-align:center}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:var(--theme-accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:#4752c4;transform:translateY(-1px)}.btn-success{background-color:var(--theme-success);color:#fff}.btn-success:hover{background-color:#358a4d}.text-center{text-align:center}.text-muted{color:var(--theme-muted)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}::selection{background-color:#5865f24d;color:#fff}::-moz-selection{background-color:#5865f24d;color:#fff}@media (max-width: 768px){.container{padding:0 var(--spacing-md)}}.app{min-height:100vh;display:flex;flex-direction:column}.header{padding:var(--spacing-xxl) 0 var(--spacing-xl);text-align:center;background-color:var(--theme-darkest);border-bottom:1px solid var(--theme-border)}.logo{max-width:200px;width:100%;height:auto;margin-bottom:var(--spacing-sm)}.header h1{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:var(--spacing-sm);color:#fff}.subtitle{font-size:1.1rem;color:var(--theme-muted);font-weight:400}.main{flex:1;padding:var(--spacing-xl) 0}.shortener-form{background-color:var(--theme-darker);border-radius:var(--radius-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);border:1px solid var(--theme-border);animation:fadeIn .3s ease-out}.form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.input-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.input-group label{font-weight:500;color:var(--theme-light);font-size:.95rem}.input-group input{padding:.875rem;background-color:var(--theme-input);border:1px solid var(--theme-border);border-radius:var(--radius-sm);font-size:1rem;color:var(--theme-light);transition:border-color var(--transition-normal),background-color var(--transition-normal)}.input-group input:focus{outline:none;border-color:var(--theme-accent);background-color:var(--theme-darker)}.input-group input:disabled{background-color:var(--theme-darkest);cursor:not-allowed;opacity:.6}.input-group input::placeholder{color:var(--theme-muted)}.input-group small{color:var(--theme-muted);font-size:.85rem}.submit-button{composes:btn btn-primary;padding:.875rem 1.5rem;font-size:1rem;letter-spacing:.02em}.submit-button:disabled{background-color:var(--theme-border);transform:none}.error-message{background-color:#ed424526;color:var(--theme-danger);padding:var(--spacing-md);border-radius:var(--radius-sm);border-left:3px solid var(--theme-danger);font-size:.95rem}.result{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background-color:#3ba55d1a;border-radius:var(--radius-sm);border-left:3px solid var(--theme-success)}.result h3{color:var(--theme-success);margin-bottom:var(--spacing-md);font-weight:500;font-size:1.1rem}.shortened-url{display:flex;gap:var(--spacing-sm);align-items:center;background-color:var(--theme-input);padding:.875rem;border-radius:var(--radius-sm);border:1px solid var(--theme-border)}.shortened-url span{flex:1;font-family:var(--font-family-mono);font-size:.95rem;color:var(--theme-light);word-break:break-all;-webkit-user-select:all;user-select:all}.copy-button{composes:btn btn-success;padding:.5rem 1rem;font-size:.9rem;flex-shrink:0}.copy-button:active{transform:scale(.98)}.footer{background-color:var(--theme-darkest);padding:var(--spacing-lg) 0;text-align:center;border-top:1px solid var(--theme-border);margin-top:auto}.footer p{color:var(--theme-muted);font-size:.9rem}.footer a{color:var(--theme-accent);text-decoration:none;transition:color var(--transition-normal)}.footer a:hover{color:#4752c4;text-decoration:underline}@media (max-width: 768px){.header{padding:var(--spacing-xl) 0 var(--spacing-lg)}.logo{max-width:150px}.header h1{font-size:2rem}.subtitle{font-size:1rem}.shortener-form{padding:var(--spacing-lg)}.shortened-url{flex-direction:column;gap:var(--spacing-sm)}.copy-button{width:100%}}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background-color:var(--theme-dark);color:var(--theme-light);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.error-container{max-width:500px;width:100%;background-color:var(--theme-darker);border-radius:8px;padding:2.5rem;text-align:center;border:1px solid var(--theme-border);box-shadow:0 4px 12px #0000004d}.error-title{margin-bottom:1rem;font-size:1.75rem;font-weight:600;line-height:1.2}.error-title.not-found,.error-title.internal-error{color:var(--theme-danger)}.error-message{color:var(--theme-muted);line-height:1.6;margin-bottom:1.5rem}.error-link{color:var(--theme-accent);text-decoration:none;font-weight:500;transition:color .2s ease}.error-link:hover{color:#4752c4;text-decoration:underline}@media (max-width: 768px){.error-container{padding:2rem}.error-title{font-size:1.5rem}}
