:root{--font-sans:"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--bg-app:#050811;--bg-primary:#090d1a;--bg-secondary:#0f172a;--bg-card:#0f172abf;--bg-card-hover:#1e293bd9;--bg-input:#0a0f1d;--border-color:#ffffff17;--border-hover:#6366f166;--border-active:#6366f1bf;--accent-primary:#4f46e5;--accent-primary-glow:#4f46e559;--accent-hover:#4338ca;--accent-cyan:#0284c7;--accent-emerald:#10b981;--accent-rose:#f43f5e;--accent-amber:#f59e0b;--accent-purple:#8b5cf6;--text-main:#f8fafc;--text-muted:#94a3b8;--text-sub:#64748b;--text-dim:#475569}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100vh;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 50% 0,#1e3a8a26 0%,#0000 60%),radial-gradient(circle at 100% 100%,#4f46e514 0%,#0000 50%);background-attachment:fixed;line-height:1.6;overflow-x:hidden}.card-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000005e}.card-panel:hover{border-color:#ffffff26}.btn-primary{color:#fff;font-family:var(--font-sans);cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#3b82f6 100%);border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #4f46e559}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4338ca 0%,#2563eb 100%);transform:translateY(-1px);box-shadow:0 6px 20px #4f46e58c}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-main);font-family:var(--font-sans);cursor:pointer;background:#1e293bb3;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:7px;padding:7px 15px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-danger{color:#fda4af;font-family:var(--font-sans);cursor:pointer;background:#e11d481f;border:1px solid #e11d484d;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-danger:hover{border-color:var(--accent-rose);color:#fff;background:#e11d4840;box-shadow:0 0 12px #f43f5e4d}.form-input{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-main);font-size:.88rem;font-family:var(--font-sans);border-radius:8px;outline:none;padding:9px 13px;transition:all .2s}.badge{letter-spacing:.02em;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-student{color:#38bdf8;background:#0284c726;border:1px solid #0284c74d}.badge-reviewer{color:#fbbf24;background:#d9770626;border:1px solid #d977064d}.badge-admin{color:#f43f5e;background:#e11d4826;border:1px solid #e11d484d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes pulseGlow{0%,to{opacity:.6}50%{opacity:1}}@keyframes floatOrb1{0%{transform:translate(0)scale(1)}33%{transform:translate(40px,-60px)scale(1.15)}66%{transform:translate(-30px,30px)scale(.9)}to{transform:translate(0)scale(1)}}@keyframes floatOrb2{0%{transform:translate(0)scale(1)}33%{transform:translate(-50px,50px)scale(1.1)}66%{transform:translate(30px,-40px)scale(.85)}to{transform:translate(0)scale(1)}}@keyframes floatOrb3{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,40px)scale(1.2)}to{transform:translate(0)scale(1)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes shimmerEffect{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-card-animated{animation:.6s cubic-bezier(.16,1,.3,1) forwards cardEntrance}.text-gradient-animated{background:linear-gradient(135deg,#fff 0%,#38bdf8 50%,#818cf8 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:6s infinite gradientShift}.shimmer-button{position:relative;overflow:hidden}.shimmer-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:50%;height:100%;position:absolute;top:0;left:0;transform:translate(-100%)}.shimmer-button:hover:after{animation:1.2s infinite shimmerEffect}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:4px}:root{--bg-app:#f3f6fa;--bg-primary:#fff;--bg-secondary:#edf2f7;--bg-card:#fff;--bg-card-hover:#f8fbff;--bg-input:#fff;--border-color:#d8e1ec;--border-hover:#9db6d1;--border-active:#1e5b94;--accent-primary:#155a93;--accent-primary-glow:#155a9329;--accent-hover:#0d4779;--accent-cyan:#176f8d;--accent-emerald:#23734d;--accent-rose:#a33d4a;--accent-amber:#9a6415;--accent-purple:#624a91;--text-main:#172b4d;--text-muted:#52677f;--text-sub:#6c8097;--text-dim:#8393a6}body{background:var(--bg-app);color:var(--text-main);background-image:linear-gradient(#f8fafc 0,#f1f5f9 100%);line-height:1.55}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #155a9347}.card-panel{background:var(--bg-card);border-color:var(--border-color);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:10px;box-shadow:0 2px 8px #19375912}.card-panel:hover{border-color:var(--border-hover);box-shadow:0 5px 16px #19375917}.btn-primary{box-shadow:none;background:#155a93;border-color:#155a93;border-radius:7px;padding:8px 15px}.btn-primary:hover:not(:disabled){box-shadow:none;background:#0d4779;transform:none}.btn-secondary{color:#294866;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#c8d5e2;border-radius:7px}.btn-secondary:hover:not(:disabled){color:#123f69;background:#eef4f9;border-color:#9db6d1;transform:none}.btn-danger{color:#9d3341;background:#fff6f6;border-color:#eabfc5;border-radius:7px}.btn-danger:hover{color:#812634;box-shadow:none;background:#fce9eb;border-color:#c85a68}.form-input{color:var(--text-main);background:#fff;border-color:#bccbdd;border-radius:7px}.form-input:focus{background:#fff;border-color:#155a93;box-shadow:0 0 0 3px #155a9321}.form-input::placeholder{color:#8393a6}.app-header{z-index:100;background:#fff;border-bottom:1px solid #d8e1ec;position:sticky;top:0;box-shadow:0 2px 8px #1937590f}.app-header__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;max-width:1600px;min-height:70px;margin:0 auto;padding:10px 24px;display:flex}.brand-block{align-items:center;gap:10px;min-width:240px;display:flex}.brand-mark{color:#fff;background:#155a93;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.brand-mark--reviewer{background:#8b5d12}.brand-mark--admin{background:#8e3c48}.brand-mark--guest{background:#155a93}.brand-title{color:#172b4d;letter-spacing:-.01em;text-transform:uppercase;align-items:center;gap:8px;font-size:1rem;font-weight:800;display:flex}.brand-title span{color:#155a93;letter-spacing:.05em;border:1px solid #b9d0e4;border-radius:4px;padding:4px 6px;font-size:.66rem;line-height:1}.brand-block p{color:#6c8097;margin:1px 0 0;font-size:.76rem}.portal-nav{background:#f6f8fb;border:1px solid #d8e1ec;border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex}.portal-nav button,.portal-nav a{color:#52677f;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:.82rem;font-weight:650;text-decoration:none;display:inline-flex}.portal-nav button:hover,.portal-nav a:hover{color:#155a93;background:#eaf2f8}.portal-nav .is-active{color:#fff;box-shadow:none;background:#155a93}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.ai-status{color:#52677f;background:#fff;border:1px solid #d8e1ec;border-radius:7px;align-items:center;gap:5px;padding:5px 8px;font-size:.76rem;font-weight:700;display:inline-flex}.ai-status select{color:#155a93;cursor:pointer;background:0 0;border:0;outline:none;max-width:112px;font-size:.76rem;font-weight:700}.status-dot{background:#4b84b2;border-radius:50%;width:7px;height:7px}.status-dot--live{background:#23734d}.status-dot--cache{background:#9a6415}.profile-summary{color:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #d8e1ec;border-radius:7px;align-items:center;gap:7px;padding:3px 9px 3px 3px;display:inline-flex}.profile-summary:hover{background:#f8fbff;border-color:#9db6d1}.profile-summary img{object-fit:cover;border:2px solid #b9d0e4;border-radius:50%;width:29px;height:29px}.profile-summary strong,.profile-summary small{display:block}.profile-summary strong{color:#233b5c;font-size:.76rem}.profile-summary small{color:#6c8097;font-size:.66rem}.header-icon-button,.two-factor-button,.logout-button{color:#294866;cursor:pointer;background:#fff;border:1px solid #c8d5e2;border-radius:7px;align-items:center;gap:5px;padding:7px 9px;font-size:.76rem;font-weight:650;display:inline-flex}.header-icon-button:hover,.two-factor-button:hover{background:#eef4f9;border-color:#9db6d1}.two-factor-button{color:#805614;background:#fffaf0;border-color:#e0c487}.two-factor-button.is-enabled{color:#23734d;background:#f4fbf7;border-color:#a9d0bc}.logout-button{color:#9d3341;background:#fff6f6;border-color:#eabfc5}.logout-button:hover{background:#fce9eb}::-webkit-scrollbar-track{background:#edf2f7}::-webkit-scrollbar-thumb{background:#b6c7d9}::-webkit-scrollbar-thumb:hover{background:#8fa8bf}@media (width<=1100px){.app-header__bar{padding:10px 16px}.portal-nav{order:3;width:100%;overflow-x:auto}.header-actions{flex:1}.profile-summary span,.header-icon-button span,.two-factor-button span,.logout-button span{display:none}}@media (width<=640px){.app-header__bar{gap:10px}.brand-title{font-size:.86rem}.brand-block{min-width:0}.ai-status{display:none}.portal-nav button,.portal-nav a{padding:7px 8px;font-size:.75rem}}.app-shell{background:0 0;flex-direction:column;width:100%;min-height:100vh;display:flex}.app-main{box-sizing:border-box;flex:1;width:min(100%,1600px);margin:0 auto;padding:24px 32px 44px}.portal-content{width:100%;max-width:1480px;margin:0 auto}.portal-content .card-panel{overflow:hidden}.portal-content h2,.portal-content h3,.settings-page h2,.settings-page h3{letter-spacing:-.01em;color:#172b4d!important}.portal-content [style*=boxShadow],.settings-page [style*=boxShadow]{box-shadow:0 2px 8px #19375912!important}.portal-content [style*="borderRadius: '16px'"],.settings-page [style*="borderRadius: '16px'"]{border-radius:10px!important}.portal-content table{background:#fff;border:1px solid #d8e1ec;border-radius:8px;overflow:hidden}.portal-content th{color:#294866!important;background:#eef4f9!important}.portal-content td{border-color:#e2e9f1!important}.portal-content code{background:#edf4fa;border-radius:3px;padding:1px 4px;color:#155a93!important}.auth-page{border:1px solid #d8e1ec;border-radius:12px;background:linear-gradient(135deg,#eef4f8,#f8fafc)!important;min-height:calc(100vh - 94px)!important}.auth-page>div[style*="position: absolute"]{display:none!important}.auth-card{background:#fff!important;border:1px solid #d8e1ec!important;border-radius:12px!important;box-shadow:0 12px 30px #1937591f!important}.auth-card .text-gradient-animated{animation:none;color:#172b4d!important;-webkit-text-fill-color:#172b4d!important;background:0 0!important}.auth-card [style*="background: 'rgba(15, 23, 42"]{background:#f4f7fa!important;border-color:#d8e1ec!important}.auth-card [style*="background: 'rgba(11, 17, 34"]{background:#fff!important}.auth-card [style*="color: '#ffffff'"],.auth-card [style*="color: '#fff'"]{color:#172b4d!important}.auth-card .shimmer-button:after{display:none}.verification-page{border-radius:12px;color:#172b4d!important;background:#f3f6fa!important;min-height:calc(100vh - 94px)!important}.verification-card{background:#fff!important;border:1px solid #cbd9e7!important;border-radius:10px!important;box-shadow:0 10px 24px #1937591a!important}.verification-card [style*="background: '#050811'"]{background:#f7f9fc!important;border-color:#d8e1ec!important}.verification-card [style*="color: '#ffffff'"],.verification-card [style*="color: '#fff'"]{color:#172b4d!important}.judge-page{padding-top:4px}.judge-banner{background:#fff!important;border-color:#cbd9e7!important;box-shadow:0 4px 14px #19375914!important}.judge-banner [style*="background: '#090d16'"]{background:#f7f9fc!important;border-color:#d8e1ec!important}.judge-banner [style*="color: '#f8fafc'"]{color:#172b4d!important}.settings-page{padding-top:4px}.settings-page [style*=backdropFilter]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.settings-page [style*="color: '#ffffff'"]{color:#172b4d!important}@media (width<=760px){.app-main{padding:16px 12px 32px}.auth-page,.verification-page{min-height:calc(100vh - 86px)!important;padding:14px!important}.auth-card,.verification-card{padding:22px 18px!important}.portal-content [style*="gridTemplateColumns: '1fr 1fr'"]{grid-template-columns:1fr!important}}.app-main,.auth-page,.verification-page,.judge-page,.settings-page,.app-main *,.auth-page *,.verification-page *,.judge-page *,.settings-page *{color:#102a43!important}.app-main [style*="rgb(15, 23, 42)"],.app-main [style*="rgb(9, 13, 22)"],.app-main [style*="rgb(10, 14, 23)"],.app-main [style*="rgb(30, 41, 59)"],.app-main [style*="rgb(5, 8, 17)"],.auth-page [style*="rgb(15, 23, 42)"],.auth-page [style*="rgb(11, 17, 34)"],.verification-page [style*="rgb(5, 8, 17)"],.judge-page [style*="rgb(9, 13, 22)"],.settings-page [style*="rgb(15, 23, 42)"]{background:#f8fafc!important;border-color:#cbd9e7!important}.app-main [style*="rgba(15, 23, 42"],.auth-page [style*="rgba(15, 23, 42"],.settings-page [style*="rgba(15, 23, 42"]{background:#fff!important;border-color:#cbd9e7!important}.app-main [style*="rgba(9, 13, 26"],.auth-page [style*="rgba(9, 13, 26"]{background:#f8fafc!important}.app-main .btn-primary,.app-main .btn-primary *,.auth-page .btn-primary,.auth-page .btn-primary *,.verification-page .btn-primary,.verification-page .btn-primary *,.judge-page .btn-primary,.judge-page .btn-primary *,.settings-page .btn-primary,.settings-page .btn-primary *,.app-main button[style*=linear-gradient],.app-main button[style*=linear-gradient] *,.auth-page button[style*=linear-gradient],.auth-page button[style*=linear-gradient] *,.judge-page button[style*=linear-gradient],.judge-page button[style*=linear-gradient] *{color:#fff!important}.app-main .btn-danger,.app-main .btn-danger *,.settings-page .btn-danger,.settings-page .btn-danger *{color:#8b2432!important}.app-main .form-input,.app-main .form-input *,.auth-page .form-input,.settings-page .form-input{color:#102a43!important}.app-main [style*="color: rgb(148, 163, 184)"],.app-main [style*="color: rgb(100, 116, 139)"],.auth-page [style*="color: rgb(148, 163, 184)"],.settings-page [style*="color: rgb(148, 163, 184)"]{color:#52677f!important}
