:root{--color-primary:#0c6;--color-secondary:#096;--color-accent:#3f9;--color-background:#000;--color-surface:#0d0d0d;--color-text:#fff;--color-text-secondary:#9cc;--color-border:#333;--font-ibm:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-jetbrains:"JetBrains Mono","Courier New",monospace;--transition-duration:.2s;--container-lg:1024px;--container-xl:1280px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-text);min-width:320px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.6}.page-container{min-height:100vh}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.container{width:100%;max-width:var(--container-lg);margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.container-xl{max-width:var(--container-xl)}.header{z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background-color:#0003;position:sticky;top:0;box-shadow:0 1px 3px #0000001a}.header-content{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.logo{color:var(--color-primary);font-size:20px;font-weight:900;font-family:var(--font-jetbrains);letter-spacing:-.05em;cursor:pointer;transition:opacity var(--transition-duration);text-decoration:none}.logo:hover{opacity:.8}.header-actions{align-items:center;gap:8px;display:flex}.header-loading-placeholder{width:40px;height:40px}.btn{cursor:pointer;transition:all var(--transition-duration);border:none;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-background)}.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-ghost{color:var(--color-text);background:0 0;padding:8px}.btn-ghost:hover{opacity:.7;color:var(--color-primary)}.modal-actions .btn-ghost{border:1px solid var(--color-border);background-color:#cbd5e11a}.modal-actions .btn-ghost:hover{opacity:1;background-color:#cbd5e133}.btn-lg{min-height:64px;padding:24px 48px;font-size:20px}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{color:var(--color-text);cursor:pointer;transition:all var(--transition-duration);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:10px;display:inline-flex}.icon-btn:hover{opacity:.7;color:var(--color-primary)}.hero{background-color:var(--color-background);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;margin-top:-73px;padding-top:73px;display:flex;position:relative;overflow:hidden}.hero-matrix-bg{opacity:.3;z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.hero-title-line{z-index:1;width:100%;font-size:28px;font-weight:700;font-family:var(--font-jetbrains);color:var(--color-primary);letter-spacing:-.05em;text-align:center;white-space:nowrap;min-height:40px;margin-bottom:48px;position:relative}.hero-cta{z-index:1;margin:0 auto;position:relative}.steps{z-index:1000;padding:96px 0;position:relative}.steps-title{text-align:center;color:var(--color-primary);font-size:40px;font-weight:700;font-family:var(--font-ibm);letter-spacing:-.05em;margin-bottom:80px}.step-card{background-color:var(--color-surface);border:1px solid var(--color-border);transition:all var(--transition-duration);border-radius:12px;margin-bottom:80px;padding:40px}.step-title{color:var(--color-primary);font-size:24px;font-weight:700;font-family:var(--font-ibm);margin-bottom:32px}.step-description{color:var(--color-text-secondary);font-size:16px;line-height:1.75;font-family:var(--font-ibm);margin-bottom:32px}.step-code-block{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.step-image-wrapper{border:1px solid var(--color-border);transition:all var(--transition-duration);border-radius:8px;overflow:hidden}.step-image-clickable{cursor:pointer}.step-image-wrapper:hover{border-color:var(--color-primary);box-shadow:0 4px 6px #0000001a}.step-image{width:100%;height:auto;display:block}.step-link{color:var(--color-primary);transition:all var(--transition-duration);border-bottom:1px solid #0000;font-weight:600;text-decoration:none}.step-link:hover{border-bottom-color:var(--color-primary);opacity:.8}.step-link:visited{color:var(--color-primary)}.image-modal-overlay{z-index:3000;cursor:zoom-out;background-color:#000000e6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.image-modal-content{cursor:default;max-width:90vw;max-height:90vh;position:relative}.image-modal-close{background:var(--color-primary);color:var(--color-background);cursor:pointer;transition:all var(--transition-duration);border:none;border-radius:4px;padding:8px 12px;font-size:24px;line-height:1;position:absolute;top:-40px;right:0}.image-modal-close:hover{opacity:.8}.image-modal-image{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:90vh;display:block}.footer{border-top:1px solid var(--color-border);margin-top:128px;padding:64px 0 48px}.footer-grid{grid-template-columns:1fr;gap:48px;display:grid}@media (min-width:768px){.footer-grid{grid-template-columns:3fr 3fr 2fr 2fr;gap:32px}}.footer-column{flex-direction:column;gap:12px;display:flex}.footer-title{color:var(--color-primary);margin-bottom:4px;font-size:14px;font-weight:700}.footer-link{color:var(--color-primary);transition:color var(--transition-duration);font-size:14px;text-decoration:none}.footer-link:hover{color:var(--color-accent)}.footer-link-more{color:var(--color-primary)}.footer-link-more:hover{text-decoration:underline}.sub-footer{border-top:1px solid var(--color-border);padding:24px 0}.sub-footer .container{text-align:center}.sub-footer-text{color:var(--color-text-secondary);opacity:.6;font-size:12px}.sub-footer-link{text-underline-offset:2px;text-decoration:underline;transition:color .2s}.sub-footer-link:hover{color:var(--color-primary,#2563eb)}.lang-switcher{color:var(--color-text);cursor:pointer;transition:all var(--transition-duration);background:0 0;border:none;min-width:50px;min-height:38px;padding:10px 14px;font-size:14px;font-weight:500}.lang-switcher:hover{opacity:.7;color:var(--color-primary)}.lang-switcher:disabled{opacity:.5;cursor:not-allowed}.user-menu{position:relative}.user-avatar{cursor:pointer;width:38px;height:38px;transition:all var(--transition-duration);background-color:var(--color-primary);color:var(--color-background);border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.user-avatar:hover{border-color:var(--color-primary);transform:scale(1.05);box-shadow:0 4px 6px #0000001a}.user-avatar-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.user-menu-dropdown{background-color:var(--color-surface);border:1px solid var(--color-border);z-index:1001;border-radius:8px;min-width:240px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 15px -3px #0000001a}.user-info{align-items:center;gap:12px;margin-bottom:4px;padding:12px;display:flex}.user-info-avatar{background-color:var(--color-primary);width:48px;height:48px;color:var(--color-background);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.user-info-avatar-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.user-info-text{flex:1;min-width:0}.user-info-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.user-info-email{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.menu-separator{background-color:var(--color-border);height:1px;margin:4px 0}.menu-item{width:100%;color:var(--color-text);cursor:pointer;transition:all var(--transition-duration);text-align:left;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:14px;display:block}.menu-item:hover{background-color:var(--color-background)}.menu-item-danger{color:#ef4444}.menu-item-danger:hover{background-color:#ef44441a}.modal-overlay{z-index:2000;background-color:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:400px;margin:auto;padding:32px;position:relative;box-shadow:0 25px 50px -12px #00000040}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-title{color:var(--color-primary);font-size:24px;font-weight:700;font-family:var(--font-ibm)}.modal-close{color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-duration);background:0 0;border:none;border-radius:4px;padding:4px;font-size:24px;line-height:1}.modal-close:hover{color:var(--color-text);background-color:var(--color-primary)}.modal-body{margin-bottom:24px}.modal-text{color:var(--color-text-secondary);margin-bottom:24px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.login-buttons{flex-direction:column;gap:12px;display:flex}.oauth-button{border:2px solid var(--color-primary);width:100%;color:var(--color-text);cursor:pointer;transition:all var(--transition-duration);background-color:#0000;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:14px 20px;font-size:14px;font-weight:600;display:flex}.oauth-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.oauth-button:disabled{opacity:.5;cursor:not-allowed}.oauth-button-text{font-weight:500}.login-terms{text-align:center;color:var(--color-text-secondary);margin-top:24px;font-size:12px;line-height:1.6}.modal-content-wide{max-width:700px}.modal-content-narrow{max-width:400px}.token-input-group{align-items:center;gap:12px;display:flex}.token-input{background-color:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;outline:none;flex:1;min-width:0;padding:12px;font-family:monospace;font-size:14px}.token-input:focus{border-color:var(--color-primary)}.token-actions{flex-shrink:0;gap:8px;display:flex}.token-action-button{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:12px;display:flex}.token-success-message{color:var(--color-primary);margin-top:8px;font-size:14px}.token-error-message{color:#ef4444;margin-top:8px;font-size:14px}@media (min-width:480px){.hero-title-line{min-height:50px;margin-bottom:56px;font-size:36px}}@media (min-width:640px){.hero-title-line{min-height:67px;margin-bottom:64px;font-size:48px}}@media (min-width:768px){.header-content{padding:20px 32px}.header-actions{gap:16px}.logo{font-size:26px}.btn{padding:14px 32px;font-size:18px}.hero-title-line{min-height:90px;margin-bottom:80px;font-size:64px}.hero{padding-bottom:80px}.steps{padding:128px 0}.steps-title{margin-bottom:96px;font-size:52px}.step-card{padding:48px}.step-title{font-size:32px}.step-description{font-size:19px}.step-code{font-size:16px}.lang-switcher{min-width:70px}.container{padding-left:32px;padding-right:32px}.oauth-button{padding:16px 24px;font-size:16px}.token-input{padding:14px;font-size:15px}.token-action-button{min-width:48px;min-height:48px}.modal-content-wide{max-width:750px}}@media (min-width:1024px){.logo{font-size:32px}.btn{padding:16px 40px}.hero-title-line{min-height:112px;margin-bottom:96px;font-size:80px}.hero{padding-bottom:100px}.steps-title{font-size:64px}.oauth-button{padding:18px 28px;font-size:18px}.login-terms{font-size:14px}.modal-content-wide{max-width:800px}.token-input{padding:16px;font-size:16px}}@media (min-width:1280px){.hero-title-line{min-height:134px;font-size:96px}}@media (min-width:1440px){.hero-title-line{min-height:146px;font-size:104px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:1s linear infinite spin}
