:root{--ink: #171a2b;--paper: #f6f5f1;--iris: #5a54d9;--magenta: #a84fd3;--amber: #f2994a;--ink-flow: linear-gradient(110deg, #5a54d9, #a84fd3, #f2994a, #a84fd3, #5a54d9);--display-font: Georgia, "Songti SC", "STSong", "Noto Serif CJK SC", "SimSun", serif}html{scroll-behavior:smooth}.brand-display{font-family:var(--display-font);letter-spacing:.02em}.app-header{white-space:nowrap;gap:12px}@media (max-width: 620px){.app-header .brand-text{display:none}}.app-header{border-bottom:1px solid rgba(90,84,217,.25);background:radial-gradient(1200px 80px at 20% 120%,rgba(90,84,217,.28),transparent 60%),radial-gradient(900px 70px at 85% 130%,rgba(168,79,211,.18),transparent 60%),#171a2b!important}.app-content-enter{animation:content-rise .36s cubic-bezier(.22,.8,.36,1) both}@keyframes content-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth-backdrop{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:#171a2b;overflow:hidden;padding:24px}.auth-backdrop:before,.auth-backdrop:after{content:"";position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none}.auth-backdrop:before{background:radial-gradient(circle,rgba(90,84,217,.55),transparent 60%);top:-20vmax;left:-15vmax;animation:blob-drift 26s ease-in-out infinite alternate}.auth-backdrop:after{background:radial-gradient(circle,rgba(168,79,211,.4),transparent 60%);bottom:-25vmax;right:-18vmax;animation:blob-drift 32s ease-in-out infinite alternate-reverse}@keyframes blob-drift{0%{transform:translate(0) scale(1)}to{transform:translate(8vmax,6vmax) scale(1.15)}}.auth-brand{position:relative;z-index:1;color:#fff;text-align:center}.auth-brand .auth-brand-title{font-family:var(--display-font);font-size:30px;letter-spacing:.08em;line-height:1.3}.auth-brand .auth-brand-sub{margin-top:6px;font-size:13px;letter-spacing:.35em;color:#ffffff8c}.auth-card{position:relative;z-index:1;width:min(400px,92vw);border:1px solid rgba(255,255,255,.14)!important;background:#fffffff5!important;box-shadow:0 1px 2px #0003,0 24px 64px #0a0c1873!important}@keyframes ink-flow{0%{background-position:0% 50%}to{background-position:200% 50%}}.ink-progress .ant-progress-bg{background:var(--ink-flow)!important;background-size:220% 100%!important;animation:ink-flow 2.6s linear infinite}.ink-tag{color:#fff!important;border:none!important;background:var(--ink-flow)!important;background-size:220% 100%!important;animation:ink-flow 2.6s linear infinite}.ant-btn-primary.ant-btn-loading{background:var(--ink-flow);background-size:220% 100%;animation:ink-flow 2.6s linear infinite;border-color:transparent}.dot-generating .ant-badge-status-dot{animation:dot-breathe 1.1s ease-in-out infinite}@keyframes dot-breathe{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #5a54d973}50%{opacity:.45;transform:scale(1.35);box-shadow:0 0 0 4px #5a54d900}}.cursor-blink{animation:cursor-blink 1s step-end infinite;color:var(--iris)}@keyframes cursor-blink{50%{opacity:0}}.ant-card{transition:transform .18s ease,box-shadow .18s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px #171a2b0d,0 14px 32px #5a54d929!important}.ant-list-item{transition:background .15s ease}.ant-btn{transition:transform .12s ease,box-shadow .18s ease,background .2s ease,border-color .2s ease,color .2s ease}.ant-btn:not(:disabled):active{transform:scale(.97)}.ant-collapse-header{transition:background .15s ease}:focus-visible{outline:2px solid var(--iris);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
