.app-root[data-v-9fee295c]{min-height:100vh;min-height:100dvh}:root{--nt-bg: #f7f6f3;--nt-surface: #ffffff;--nt-surface-2: #fbfbfa;--nt-soft: #f1efe9;--nt-text: #37352f;--nt-text-2: #787774;--nt-text-3: #9b9a97;--nt-border: #e9e9e7;--nt-border-strong: #dcdad3;--nt-hover: #efedea;--nt-active: #e3e1db;--nt-ring: rgba(46, 170, 220, .35);--nt-blue: #2eaadc;--nt-blue-bg: #e7f3f9;--nt-red: #eb5757;--nt-red-bg: #fbecec;--nt-green: #0f7b6c;--nt-green-bg: #e6f2f0;--nt-yellow: #dfab01;--nt-yellow-bg: #fbf3e2;--nt-radius: 8px;--nt-radius-sm: 6px;--nt-shadow: 0 1px 2px rgba(15, 15, 15, .06);--nt-dur: .15s;--nt-dur-slow: .24s;--nt-ease: cubic-bezier(.4, 0, .2, 1);--nt-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--nt-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background-color:var(--nt-bg);color:var(--nt-text);font-family:var(--nt-font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{min-height:100%}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:26px}h2{font-size:20px}h3{font-size:16px}p{margin:0}a{color:var(--nt-blue);text-decoration:none;transition:color var(--nt-dur) var(--nt-ease)}a:hover{color:#1d8fc4;text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--nt-ring)}.field{display:block;margin-bottom:14px}.field-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--nt-text-2)}.input{width:100%;padding:9px 12px;font-family:inherit;font-size:15px;color:var(--nt-text);background-color:var(--nt-surface);border:1px solid var(--nt-border);border-radius:var(--nt-radius-sm);transition:background-color var(--nt-dur) var(--nt-ease),border-color var(--nt-dur) var(--nt-ease)}.input::placeholder{color:var(--nt-text-3)}.input:hover{background-color:var(--nt-surface-2)}.input:focus{outline:none;border-color:var(--nt-blue);background-color:var(--nt-surface)}.input:disabled{background-color:var(--nt-soft);color:var(--nt-text-3);cursor:not-allowed}.field-hint{margin-top:6px;font-size:12px;color:var(--nt-text-3)}.field-error{margin-top:6px;font-size:12px;color:var(--nt-red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;font-size:15px;font-weight:500;color:var(--nt-text);background-color:transparent;border:1px solid var(--nt-border);border-radius:var(--nt-radius-sm);transition:background-color var(--nt-dur) var(--nt-ease),color var(--nt-dur) var(--nt-ease)}.btn:hover:not(:disabled){background-color:var(--nt-hover)}.btn:active:not(:disabled){background-color:var(--nt-active)}.btn:disabled{color:var(--nt-text-3);cursor:not-allowed;opacity:.7}.btn-primary{color:#fff;background-color:var(--nt-blue);border-color:transparent}.btn-primary:hover:not(:disabled){background-color:#2196c9}.btn-primary:active:not(:disabled){background-color:#1a83b4}.btn-block{width:100%}.btn-quiet{border-color:transparent}.card{background-color:var(--nt-surface);border:1px solid var(--nt-border);border-radius:var(--nt-radius);box-shadow:var(--nt-shadow)}.notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;border-radius:var(--nt-radius-sm);background-color:var(--nt-soft);color:var(--nt-text-2)}.notice-error{background-color:var(--nt-red-bg);color:#a83232}.notice-success{background-color:var(--nt-green-bg);color:var(--nt-green)}.spinner{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nt-spin .7s linear infinite}@keyframes nt-spin{to{transform:rotate(360deg)}}.fade-up-enter-active,.fade-up-leave-active{transition:opacity var(--nt-dur-slow) var(--nt-ease),transform var(--nt-dur-slow) var(--nt-ease)}.fade-up-enter-from{opacity:0;transform:translateY(8px)}.fade-up-leave-to{opacity:0;transform:translateY(-4px)}@keyframes nt-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.shake{animation:nt-shake .32s var(--nt-ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
