@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-bg-base: #0f1117;--color-bg-surface: #1a1d27;--color-bg-elevated: #22263a;--color-bg-nav: rgba(15, 17, 23, .85);--color-bg-input: rgba(34, 38, 58, .6);--color-bg-glass: rgba(255, 255, 255, .04);--color-accent: #22c55e;--color-accent-light: #4ade80;--color-accent-dim: #16a34a;--color-accent-glow: rgba(34, 197, 94, .35);--color-accent-subtle: rgba(34, 197, 94, .08);--color-text-primary: #f0f4f8;--color-text-secondary: #8899aa;--color-text-muted: #4a5568;--color-text-inverse: #0f1117;--color-border: rgba(255, 255, 255, .08);--color-border-focus: rgba(34, 197, 94, .6);--color-error: #f87171;--color-error-bg: rgba(248, 113, 113, .1);--color-success: #4ade80;--color-success-bg: rgba(74, 222, 128, .1);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem;--text-5xl: 3.5rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-24: 96px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-green: 0 0 20px rgba(34, 197, 94, .35);--shadow-green-lg: 0 0 40px rgba(34, 197, 94, .25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-base);background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(34,197,94,.12) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 90%,rgba(34,197,94,.06) 0%,transparent 50%);min-height:100vh}a{color:inherit;text-decoration:none}img,svg{display:block}button{font-family:inherit;cursor:pointer}input,button,textarea,select{font-family:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #22c55e4d}50%{box-shadow:0 0 40px #22c55e99}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeIn .4s ease forwards}.main-content{max-width:1100px;margin:0 auto;padding:0 var(--space-6) var(--space-24)}.nav{background:var(--color-bg-nav);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav-inner{max-width:1100px;margin:0 auto;padding:0 var(--space-6);height:64px;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:800;color:var(--color-accent);letter-spacing:-.02em;text-decoration:none;transition:opacity .2s ease}.nav-logo:hover{opacity:.85}.nav-logo-icon{font-size:1.1em}.nav-links{display:flex;align-items:center;gap:var(--space-6)}.nav-link{font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.nav-link:hover,.nav-link--active{color:var(--color-text-primary)}.nav-email{font-size:var(--text-sm);color:var(--color-text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 28px;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:700;border:none;cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease;white-space:nowrap;line-height:1}.btn:active{transform:scale(.97)!important;transition-duration:.1s}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn--primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:var(--color-text-inverse);box-shadow:var(--shadow-green)}.btn--primary:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 0 28px #22c55e80}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent;font-weight:500}.btn--ghost:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.btn--sm{padding:8px 18px;font-size:var(--text-sm)}.btn--full{width:100%}.btn-loading{display:inline-flex;align-items:center;gap:var(--space-2)}.spinner,.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.loading-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16);color:var(--color-text-secondary)}.loading-state .loading-spinner{width:32px;height:32px;border-width:3px;border-top-color:var(--color-accent)}.input{display:block;width:100%;background:var(--color-bg-input);border:1.5px solid var(--color-border);color:var(--color-text-primary);font-size:var(--text-base);padding:12px 16px;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s ease,box-shadow .2s ease;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.input::placeholder{color:var(--color-text-muted)}.input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-subtle)}.input--error{border-color:#f8717180}.input--error:focus{border-color:#f87171cc;box-shadow:0 0 0 3px #f871711a}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em}.form-label-optional{font-weight:400;color:var(--color-text-muted)}.field-error{font-size:var(--text-sm);color:var(--color-error);margin-top:var(--space-1)}.alert{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;animation:slideDown .25s ease forwards}.alert svg{flex-shrink:0;margin-top:1px}.alert--error{background:var(--color-error-bg);color:var(--color-error);border:1px solid rgba(248,113,113,.2)}.alert--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(74,222,128,.2)}.badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.badge--green{background:var(--color-accent-subtle);color:var(--color-accent-light);border:1px solid rgba(34,197,94,.2)}.hero{position:relative;min-height:calc(100vh - 64px - var(--space-16));display:flex;align-items:center;padding:var(--space-16) 0 var(--space-10);overflow:hidden}.hero-bg-glow{position:absolute;top:-200px;left:50%;transform:translate(-50%);width:800px;height:600px;background:radial-gradient(ellipse,rgba(34,197,94,.08) 0%,transparent 70%);pointer-events:none;z-index:0}.hero-content{position:relative;z-index:1;width:100%;max-width:700px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.hero-badge{animation:fadeIn .5s ease .1s both}.hero-heading{font-size:var(--text-5xl);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--color-text-primary);animation:fadeIn .5s ease .15s both}.hero-heading-accent{background:linear-gradient(135deg,#22c55e,#4ade80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:480px;animation:fadeIn .5s ease .2s both}.shortener-card{width:100%;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-lg);position:relative;overflow:hidden;animation:fadeIn .5s ease .25s both}.shortener-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 60%);pointer-events:none}.shortener-form{display:flex;flex-direction:column;gap:var(--space-5)}.shortener-url-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:end}.shortener-url-field{min-width:0}.shortener-custom-field{width:200px;flex-shrink:0}.result-box{margin-top:var(--space-5);padding:var(--space-5);background:var(--color-accent-subtle);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-md);animation:slideDown .3s ease forwards}.result-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:var(--space-3)}.result-row{display:flex;align-items:center;gap:var(--space-3)}.result-link{flex:1;font-size:var(--text-lg);font-weight:600;color:var(--color-accent-light);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.result-link:hover{color:var(--color-accent)}.btn--copy{padding:8px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;background:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border);transition:all .2s ease;flex-shrink:0}.btn--copy:hover{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.btn--copy-success{background:var(--color-accent)!important;color:var(--color-text-inverse)!important;border-color:var(--color-accent)!important;animation:pulseGlow 2.5s ease-in-out infinite}.features{padding:var(--space-16) 0}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.feature-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.feature-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 60%);pointer-events:none}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md),0 0 0 1px #22c55e26;border-color:#22c55e33}.feature-icon{font-size:2rem;margin-bottom:var(--space-4);line-height:1}.feature-title{font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.feature-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.65}.auth-page{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:var(--space-8) 0}.auth-card{width:100%;max-width:420px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-8);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 55%);pointer-events:none}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-icon{font-size:2.5rem;margin-bottom:var(--space-4);line-height:1}.auth-title{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.025em;color:var(--color-text-primary);margin-bottom:var(--space-2)}.auth-sub{font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-form{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-6)}.auth-footer{text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-link{color:var(--color-accent);font-weight:600;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:var(--color-accent-light);text-decoration:underline}.dashboard-page{padding:var(--space-10) 0}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-8);gap:var(--space-4)}.dashboard-title{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.025em;color:var(--color-text-primary);margin-bottom:var(--space-1)}.dashboard-sub{font-size:var(--text-sm);color:var(--color-text-secondary)}.dashboard-email{color:var(--color-accent);font-weight:600}.dashboard-stats{flex-shrink:0}.stat-pill{display:inline-flex;align-items:baseline;gap:var(--space-2);background:var(--color-accent-subtle);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5)}.stat-number{font-size:var(--text-2xl);font-weight:800;color:var(--color-accent);line-height:1}.stat-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.table-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.url-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.url-table th{background:var(--color-bg-elevated);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-xs);font-weight:700;padding:var(--space-4) var(--space-5);text-align:left;border-bottom:1px solid var(--color-border)}.url-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-primary)}.url-table tbody tr:last-child td{border-bottom:none}.url-table tbody tr{transition:background .15s ease}.url-table tbody tr:hover td{background:var(--color-bg-elevated)}.table-short-link{color:var(--color-accent);font-weight:600;text-decoration:none;transition:color .2s ease}.table-short-link:hover{color:var(--color-accent-light);text-decoration:underline}.table-dest{color:var(--color-text-secondary);max-width:380px}.table-date{color:var(--color-text-muted);white-space:nowrap;font-size:var(--text-xs)}.table-action{text-align:right;width:90px}.table-copy-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-sm);transition:all .2s ease}.table-copy-btn--done{color:var(--color-accent)!important;background:var(--color-accent-subtle)!important}.empty-state{text-align:center;padding:var(--space-24) var(--space-6);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.empty-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-3)}.empty-desc{font-size:var(--text-base);color:var(--color-text-secondary);max-width:380px;margin:0 auto;line-height:1.7}.notfound-page{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center}.notfound-content{text-align:center;max-width:400px;padding:var(--space-8)}.notfound-code{font-size:7rem;font-weight:800;letter-spacing:-.05em;line-height:1;background:linear-gradient(135deg,#22263a,#1a1d27);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-4);filter:drop-shadow(0 0 30px rgba(34,197,94,.3))}.notfound-title{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.025em;color:var(--color-text-primary);margin-bottom:var(--space-3)}.notfound-desc{color:var(--color-text-secondary);margin-bottom:var(--space-8);font-size:var(--text-base)}@media (max-width: 768px){.main-content{padding:0 var(--space-4) var(--space-16)}.nav-inner{padding:0 var(--space-4)}.hero-heading{font-size:var(--text-4xl)}.shortener-url-row{grid-template-columns:1fr}.shortener-custom-field{width:100%}.features-grid{grid-template-columns:1fr}.auth-card{padding:var(--space-8) var(--space-6)}.dashboard-header{flex-direction:column;align-items:flex-start}.nav-email,.table-dest{display:none}}@media (max-width: 480px){.hero-heading{font-size:var(--text-3xl)}.hero-sub{font-size:var(--text-base)}.shortener-card{padding:var(--space-6)}.nav-links{gap:var(--space-4)}.nav-logo{font-size:var(--text-lg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.footer{text-align:center;padding:var(--space-4) var(--space-6);font-size:var(--text-xs);color:var(--color-text-muted)}.footer a{color:var(--color-accent);text-decoration:none}.footer a:hover{text-decoration:underline}
