html,body,#root{color:#f8fafc;background-color:#0b0d17;min-height:100vh;margin:0;padding:0}.app-container{box-sizing:border-box;flex-direction:column;max-width:1100px;min-height:100vh;margin:0 auto;padding:20px;font-family:system-ui,-apple-system,sans-serif;display:flex}.portal-hero-logo{filter:drop-shadow(0 0 15px #c084fc66);width:52px;height:auto;margin-bottom:16px;animation:.8s ease-out forwards fadeInDown}.portal-hero-logo:hover{border-color:#c084fc;box-shadow:0 10px 30px #c084fc40}.landing-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 0;display:flex}.animated-title{background:linear-gradient(135deg,#c084fc 0%,#60a5fa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:3.2rem;font-weight:800;animation:.8s ease-out forwards fadeInDown}.animated-subtitle{color:#94a3b8;opacity:0;margin-top:12px;font-size:1.3rem;animation:.8s ease-out .3s forwards fadeInUp}.portal-grid{opacity:0;flex-wrap:wrap;justify-content:center;gap:24px;width:100%;margin-top:48px;animation:.8s ease-out .6s forwards fadeInUp;display:flex}.portal-card{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121624d9;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;align-items:center;width:280px;padding:32px 24px;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex}.portal-card:hover:not(.disabled){border-color:#c084fc;transform:translateY(-6px);box-shadow:0 10px 30px #c084fc40}.portal-card h2{margin:12px 0 8px;font-size:1.35rem}.portal-card p{color:#94a3b8;margin:0;font-size:.95rem;line-height:1.4}.portal-icon{font-size:2.8rem}.portal-action{color:#c084fc;margin-top:24px;font-weight:600}footer{text-align:center;color:#94a3b8;border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;margin-top:auto;padding:30px 0 15px;font-size:.95rem;display:flex}footer p{margin:0}.footer-owner{color:#e2e8f0;font-weight:500}footer a{color:#c084fc;font-weight:600;text-decoration:none}footer a:hover{text-decoration:underline}footer .copyright{color:#64748b;font-size:.8rem}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
