.login-container{width:100%;max-width:400px}.login-form{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2.5rem 2rem;border-radius:16px;border:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:.5rem;box-shadow:0 8px 32px #00000080}.login-title{font-size:1.75rem;font-weight:700;margin-bottom:.25rem;color:#fff}.login-subtitle{color:#fff9;margin-bottom:1rem;font-size:.95rem}.login-email-label{font-size:.85rem;font-weight:600;color:#fff9;margin-top:.25rem;margin-bottom:.1rem}.login-email{font-size:.95rem;color:#ffffffe6;padding:.6rem 1rem;background:#0000004d;border-radius:10px;margin-bottom:.5rem}.login-label{font-size:.85rem;font-weight:600;color:#fff9;margin-top:.5rem;margin-bottom:.15rem}.login-input{font-family:inherit;background:#00000059;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:.75rem 1rem;color:#fff;font-size:.95rem;outline:none;transition:border-color .2s}.login-input:focus{border-color:var(--accent)}.login-input::placeholder{color:#ffffff80}.login-error{color:var(--accent);font-size:.85rem;margin-top:.25rem}.login-btn{font-family:inherit;margin-top:.75rem;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.8rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.login-btn:hover{background:var(--accent-hover)}.social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem;max-width:480px}.social-link{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fffc;font-size:1.5rem;text-decoration:none;transition:all .25s ease}.social-link:hover{color:#fff;border-color:var(--hover-color);background:var(--hover-color);transform:translateY(-4px);box-shadow:0 6px 20px #00000080}@media(max-width:480px){.social-link{width:3rem;height:3rem;font-size:1.25rem}.social-links{gap:.9rem}}.lab{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:480px;margin-top:.25rem}.lab-toggle-row{display:flex;align-items:center;gap:.6rem}.lab-prefix{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#ffffff80;letter-spacing:.5px}.lab-toggle{display:flex;align-items:center;gap:.5rem;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:.45rem 1.1rem;color:#ffffff80;font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .25s;box-shadow:0 0 12px #e9456000}.lab-toggle:hover{color:#ffffffbf;border-color:#e945604d;box-shadow:0 0 18px #e9456026}.lab-toggle-dot{width:6px;height:6px;border-radius:50%;background:#e94560;opacity:.6;transition:opacity .25s}.lab-toggle:hover .lab-toggle-dot{opacity:1}.lab-toggle-arrow{font-size:.65rem;transition:transform .25s}.lab--open .lab-toggle-arrow{transform:rotate(0)}.lab-cards{display:flex;flex-direction:column;gap:.65rem;width:100%;max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .3s ease;opacity:0}.lab--open .lab-cards{max-height:700px;opacity:1}.lab-pages{display:flex;align-items:center;gap:.3rem;max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease;opacity:0}.lab--open .lab-pages{max-height:48px;opacity:1}.lab-page-btn{display:flex;align-items:center;justify-content:center;min-width:1.8rem;height:1.8rem;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#fff6;font-family:JetBrains Mono,monospace;font-size:.7rem;cursor:pointer;transition:all .2s;padding:0 .3rem}.lab-page-btn:hover:not(:disabled){color:#fffc;border-color:#fff3;background:#00000080}.lab-page-btn:disabled{opacity:.2;cursor:default}.lab-page-btn--active{color:#e94560;border-color:#e9456066;background:#e9456014}.lab-card{display:flex;align-items:center;gap:.85rem;background:#00000059;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem 1.25rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-decoration:none;color:#ffffffb3;transition:all .25s;position:relative;overflow:hidden}.lab-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--card-accent);opacity:0;transition:opacity .25s}.lab-card:hover{border-color:#ffffff26;color:#fffffff2;background:#00000080;transform:translateY(-1px)}.lab-card:hover:before{opacity:1}.lab-card-icon{font-size:1.8rem;flex-shrink:0;width:2.5rem;text-align:center}.lab-card-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.lab-card-name{font-family:JetBrains Mono,monospace;font-size:.85rem;color:#fffc;font-weight:600}.lab-card-desc{font-family:JetBrains Mono,monospace;font-size:.7rem;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-card-visit{display:flex;align-items:center;gap:.3rem;font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--card-accent);opacity:0;transition:opacity .25s;flex-shrink:0}.lab-card:hover .lab-card-visit{opacity:1}@media(max-width:480px){.lab-card{padding:.85rem 1rem}.lab-card-icon{font-size:1.5rem;width:2rem}}.profile-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;text-align:center;width:100%;max-width:560px}.profile-title-group{display:flex;flex-direction:column;align-items:flex-end}.profile-subtitle{font-family:"Noto Serif JP",serif;font-size:1.14rem;font-weight:400;opacity:.5;letter-spacing:4px;margin-bottom:-.4rem}.profile-title{font-family:Silkscreen,sans-serif;font-size:4.8rem;font-weight:400;letter-spacing:6px;color:#fff;opacity:.85}.profile-handle{font-family:JetBrains Mono,monospace;font-size:.85rem;color:#ffffff80;align-self:flex-start;margin-top:-.15rem;letter-spacing:1px}.profile-tagline{font-family:JetBrains Mono,monospace;font-size:1rem;color:#ffffff80;margin-top:-.25rem}.profile-working{font-family:JetBrains Mono,monospace;font-size:.85rem;color:#ffffff80;font-style:italic;margin-bottom:.5rem}.profile-widgets{display:flex;gap:1rem;width:100%;max-width:480px;justify-content:center;flex-wrap:wrap}.widget{display:flex;align-items:center;gap:.75rem;background:#0006;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.75rem 1.25rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex:1;min-width:180px}.widget i{font-size:1.5rem;opacity:.6}.widget-spotify i{color:#1db954}.widget-spotify--active{gap:.6rem;padding:.6rem 1rem}.spotify-art{width:44px;height:44px;border-radius:6px;flex-shrink:0}.spotify-info{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;flex:1;overflow:hidden}.spotify-link{text-decoration:none;cursor:pointer}.spotify-link:hover{border-color:#1db954}.spotify-song{font-family:JetBrains Mono,monospace;font-size:.78rem;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.spotify-song.marquee{display:inline-block;max-width:none;text-overflow:clip;animation:marquee 4s linear infinite;animation-delay:2s}.spotify-artist{font-family:JetBrains Mono,monospace;font-size:.68rem;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.spotify-artist.marquee{display:inline-block;max-width:none;text-overflow:clip;animation:marquee 4s linear infinite;animation-delay:2s}@keyframes marquee{0%,20%{transform:translate(0)}80%,to{transform:translate(calc(-100% + 140px))}}.spotify-bar-wrap{width:100%;height:3px;background:#ffffff1a;border-radius:2px;margin-top:.15rem;overflow:hidden}.spotify-bar{height:100%;background:#1db954;border-radius:2px;transition:width 1s linear}.spotify-times{display:flex;justify-content:space-between;width:100%;font-family:JetBrains Mono,monospace;font-size:.6rem;color:#ffffff80}.widget-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#ffffff80;line-height:1.3}.discord-avatar-wrap{position:relative;display:inline-flex;flex-shrink:0}.discord-avatar{width:32px;height:32px;border-radius:50%;display:block}.discord-status-dot{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-primary, #0f0f0f);flex-shrink:0}.discord-status-dot.online{background:#43b581}.discord-status-dot.idle{background:#faa61a}.discord-status-dot.dnd{background:#f04747}.discord-status-dot.offline{background:#747f8d}.discord-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.discord-name{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#ffffffb3;display:flex;align-items:center;gap:.35rem;white-space:nowrap}.discord-name .bi-discord{font-size:.85rem;color:#5865f2;opacity:1}.discord-game{display:block;font-family:JetBrains Mono,monospace;font-size:.7rem;color:#ffffff8c;max-width:140px;overflow:hidden;white-space:nowrap}.discord-game-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.discord-game-name.marquee{display:inline-block;max-width:none;text-overflow:clip;animation:marquee 4s linear infinite;animation-delay:2s}.discord-custom-status{font-family:JetBrains Mono,monospace;font-size:.7rem;color:#ffffff80;display:flex;align-items:center;gap:.25rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.discord-emoji{width:16px;height:16px}.discord-emoji-unicode{font-size:.85rem}@media(max-width:480px){.profile-title-group{align-items:center}.profile-title{font-size:3rem;letter-spacing:2px}.profile-subtitle{font-size:.96rem;letter-spacing:2px}.profile-widgets{flex-direction:column;align-items:center}.widget{width:100%;min-width:unset}}.settings-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.settings-title{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:600;color:#fff;opacity:.75}.settings-subtitle{font-family:JetBrains Mono,monospace;font-size:.9rem;color:#ffffff80}.settings-logout-btn{font-family:inherit;display:inline-flex;align-items:center;gap:.5rem;background:#00000073;color:#fffc;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:.6rem 1.5rem;font-size:.95rem;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s;margin-top:.5rem}.settings-logout-btn:hover{color:var(--accent);border-color:var(--accent)}.settings-form{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:360px}.settings-label{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#ffffff80;text-align:left;margin-top:.5rem}.settings-label:first-child{margin-top:0}.settings-input{font-family:JetBrains Mono,monospace;font-size:.9rem;color:#fffc;background:#0006;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.6rem .8rem;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.settings-input:focus{border-color:#ffffff80}.settings-save-btn{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#00000073;color:#fffc;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:.6rem 1.5rem;font-size:.95rem;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s;margin-top:.5rem}.settings-save-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-saved-msg{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#1db954;text-align:center}.settings-divider{width:100%;max-width:360px;height:1px;background:#ffffff1a;margin:.5rem 0}.settings-section-title{font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:600;color:#ffffff80;text-align:left;margin:0 0 .25rem}.settings-error{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#f04747;text-align:center}.bg-switcher{position:fixed;top:1.25rem;left:1.25rem;z-index:10;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#00000080;color:#fffc;font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .25s ease}.bg-switcher:hover{color:#fff;border-color:var(--accent);background:var(--accent);transform:scale(1.1)}:root{--bg-secondary: #1a1a2e;--bg-card: #16213e;--text-primary: #eaeaea;--text-secondary: #a0a0b0;--accent: #e94560;--accent-hover: #ff6b81;--border: #2a2a4a;--font-family: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-family);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app{position:relative;display:flex;flex-direction:column;min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat;transition:background-image .6s ease}.app:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1}.app:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 3px,transparent 3px,transparent 8px)}.top-btn{position:fixed;top:1.25rem;right:1.25rem;z-index:10;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#ffffff80;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s}.top-btn:hover{color:#fffc;border-color:#ffffff4d;background:#00000080}.top-btn--left{right:auto;left:5rem}.app-content{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;flex:1;padding:1.5rem}.app-footer{position:relative;z-index:3;font-family:JetBrains Mono,monospace;font-size:.65rem;color:#ffffff80;-webkit-user-select:none;user-select:none;text-align:center;padding:.75rem 1.5rem}
