@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";
:root{--peach:#f9ce9c;--peach-dark:#e8b87a;--peach-light:#fbe0bc;--peach-50:#fef7ee;--coral:#e18182;--coral-dark:#c96a6b;--coral-light:#f0a5a6;--coral-50:#fcf0f0;--teal:#c9dde3;--teal-dark:#9fc5cf;--teal-light:#e4eef1;--teal-50:#f4f9fa;--sage:#bbcfc3;--sage-dark:#98b8a8;--sage-light:#d6e5dd;--sage-50:#f2f7f4;--primary:#e18182;--primary-dark:#c96a6b;--primary-light:#f0a5a6;--primary-50:#fcf0f0;--hku-green:#98b8a8;--hku-green-dark:#7fa393;--hku-green-light:#bbcfc3;--hku-green-50:#f2f7f4;--hku-green-100:#d6e5dd;--accent:#f9ce9c;--accent-light:#fbe0bc;--accent-dark:#e8b87a;--white:#fff;--gray-50:#fafaf9;--gray-100:#f5f5f4;--gray-200:#e7e5e4;--gray-300:#d6d3d1;--gray-400:#a8a29e;--gray-500:#78716c;--gray-600:#57534e;--gray-700:#44403c;--gray-800:#292524;--gray-900:#1c1917;--success:#98b8a8;--success-light:#d6e5dd;--warning:#f9ce9c;--warning-light:#fef7ee;--error:#e18182;--error-light:#fcf0f0;--info:#9fc5cf;--info-light:#e4eef1;--sidebar-width:260px;--header-height:64px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px 0 #0000000a;--shadow:0 2px 8px -1px #00000014,0 1px 2px -1px #0000000a;--shadow-md:0 4px 12px -2px #0000001a,0 2px 4px -2px #0000000d;--shadow-lg:0 12px 24px -4px #0000001f,0 4px 8px -2px #0000000f;--shadow-glow:0 0 40px -10px var(--peach)}[data-theme=dark]{--peach:#d4a574;--peach-dark:#b8935f;--peach-light:#e8c098;--peach-50:#2a2520;--coral:#c96a6b;--coral-dark:#a85556;--coral-light:#d98384;--coral-50:#2a2020;--teal:#7aafbb;--teal-dark:#5a9aaa;--teal-light:#9bc5ce;--teal-50:#1a2528;--sage:#8aaf9b;--sage-dark:#6b9a80;--sage-light:#a8c8b6;--sage-50:#1a2520;--primary:#c96a6b;--primary-dark:#a85556;--primary-light:#d98384;--primary-50:#2a2020;--hku-green:#6b9a80;--hku-green-dark:#4f8066;--hku-green-light:#8aaf9b;--hku-green-50:#1a2520;--hku-green-100:#253530;--accent:#d4a574;--accent-light:#e8c098;--accent-dark:#b8935f;--white:#1c1917;--gray-50:#1c1917;--gray-100:#292524;--gray-200:#44403c;--gray-300:#57534e;--gray-400:#78716c;--gray-500:#a8a29e;--gray-600:#d6d3d1;--gray-700:#e7e5e4;--gray-800:#f5f5f4;--gray-900:#fafaf9;--success:#6b9a80;--success-light:#253530;--warning:#d4a574;--warning-light:#2a2520;--error:#c96a6b;--error-light:#2a2020;--info:#5a9aaa;--info-light:#1a2528;--shadow-sm:0 1px 2px 0 #0003;--shadow:0 2px 8px -1px #0000004d,0 1px 2px -1px #0003;--shadow-md:0 4px 12px -2px #0006,0 2px 4px -2px #0000004d;--shadow-lg:0 12px 24px -4px #00000080,0 4px 8px -2px #0006;--shadow-glow:0 0 40px -10px var(--coral)}[data-theme=dark] body{color:#fafaf9;background-color:#1c1917;background-image:radial-gradient(at 0 0,#d4a5740d 0%,#0000 50%),radial-gradient(at 100% 100%,#5a9aaa0d 0%,#0000 50%)}[data-theme=dark] .card,[data-theme=dark] .sidebar,[data-theme=dark] .modal{background:#292524;border-color:#44403c}[data-theme=dark] .input,[data-theme=dark] .select,[data-theme=dark] textarea{color:#fafaf9;background:#1c1917;border-color:#44403c}[data-theme=dark] .input::placeholder{color:#78716c}[data-theme=dark] .table th,[data-theme=dark] .table tr:hover td{background:#292524}[data-theme=dark] .page-header{background:#292524;border-color:#44403c}[data-theme=dark] .header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#292524f2;border-color:#44403c}[data-theme=dark] .login-card{background:#292524f2}[data-theme=dark] .upload-zone{background:#292524;border-color:#44403c}[data-theme=dark] .upload-zone:hover,[data-theme=dark] .upload-zone.active{background:linear-gradient(135deg,#2a2520,#2a2020)}[data-theme=dark] .tabs{background:#292524}[data-theme=dark] .tab.active{background:#44403c}[data-theme=dark] .nav-item.active{background:linear-gradient(90deg,#d4a5741a,#0000)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}::selection{background:var(--peach-light);color:var(--gray-900)}body{background-color:var(--gray-50);background-image:radial-gradient(ellipse at 0% 0%,var(--peach-50)0%,transparent 50%),radial-gradient(ellipse at 100% 100%,var(--teal-50)0%,transparent 50%);color:var(--gray-900);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--gray-900);font-weight:600;line-height:1.25}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--white);border-right:1px solid var(--gray-200);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed}.sidebar-header{border-bottom:1px solid var(--gray-100);padding:1.25rem 1.5rem}.sidebar-logo{color:var(--gray-800);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;display:flex}.sidebar-logo-icon{background:linear-gradient(135deg,var(--peach),var(--coral-light));border-radius:var(--radius);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px -2px #e1818266}.sidebar-logo-icon:before{content:"";background:linear-gradient(45deg,#0000 40%,#ffffff4d 50%,#0000 60%);width:200%;height:200%;animation:3s infinite shimmer;position:absolute;top:-50%;left:-50%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-section{margin-bottom:1.5rem}.nav-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);padding:.5rem 1.5rem;font-size:.7rem;font-weight:600}.nav-item{color:var(--gray-600);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{background:var(--gray-50);color:var(--gray-900)}.nav-item.active{background:linear-gradient(90deg,var(--peach-50),transparent);color:var(--coral);border-left-color:var(--coral)}.nav-item-icon{text-align:center;width:1.5rem;font-size:1.125rem}.sidebar-footer{border-top:1px solid var(--gray-100);padding:1rem 1.5rem}.user-info{align-items:center;gap:.75rem;display:flex}.user-avatar{background:linear-gradient(135deg,var(--coral),var(--peach));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex;box-shadow:0 2px 8px -2px #e1818266}.user-details{flex:1;min-width:0}.user-name{color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.user-role{color:var(--gray-500);font-size:.75rem}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.page-header{background:var(--white);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.page-title{font-size:1.5rem;font-weight:600}.page-subtitle{color:var(--gray-500);margin-top:.25rem;font-size:.875rem}.page-actions{gap:.75rem;display:flex}.page-content{flex:1;padding:2rem}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow:hidden}.card-header{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.card-title{font-size:1rem;font-weight:600}.card-content{padding:1.5rem}.card-footer{background:var(--gray-50);border-top:1px solid var(--gray-100);padding:1rem 1.5rem}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:#fff;border:none;box-shadow:0 2px 8px -2px #e1818266}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--coral-dark),var(--coral));transform:translateY(-2px);box-shadow:0 8px 20px -4px #e1818280}.btn-hku{background:linear-gradient(135deg,var(--sage),var(--sage-dark));color:var(--gray-800)}.btn-hku:hover:not(:disabled){background:linear-gradient(135deg,var(--sage-dark),var(--sage));transform:translateY(-2px);box-shadow:0 8px 20px -4px #98b8a880}.btn-accent{background:linear-gradient(135deg,var(--peach),var(--peach-dark));color:var(--gray-800);border:none;box-shadow:0 2px 8px -2px #f9ce9c99}.btn-accent:hover:not(:disabled){background:linear-gradient(135deg,var(--peach-dark),var(--peach));transform:translateY(-2px);box-shadow:0 8px 20px -4px #f9ce9cb3}.btn-secondary{background:var(--white);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn-ghost{color:var(--gray-600);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900)}.btn-danger{background:var(--error);color:#fff}.btn-sm{padding:.375rem .75rem;font-size:.813rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-icon{border-radius:var(--radius);width:36px;height:36px;padding:0}.badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-success{background:var(--success-light);color:#065f46}.badge-warning{background:var(--warning-light);color:#92400e}.badge-error{background:var(--error-light);color:#991b1b}.badge-info{background:var(--info-light);color:#1e40af}.badge-neutral{background:var(--gray-100);color:var(--gray-600)}.badge-primary{background:var(--coral-50);color:var(--coral-dark)}.badge-peach{background:var(--peach-50);color:var(--peach-dark)}.badge-teal{background:var(--teal-50);color:var(--teal-dark)}.badge-sage{background:var(--sage-50);color:var(--sage-dark)}.progress{background:var(--gray-200);border-radius:9999px;height:8px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,var(--sage),var(--sage-dark));border-radius:9999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-bar:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);animation:2s infinite progressShine;position:absolute;inset:0}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar.primary{background:linear-gradient(90deg,var(--coral-light),var(--coral))}.progress-bar.success{background:linear-gradient(90deg,var(--sage-light),var(--sage-dark))}.progress-bar.warning{background:linear-gradient(90deg,var(--peach-light),var(--peach-dark))}.progress-bar.error{background:linear-gradient(90deg,var(--coral-light),var(--coral-dark))}.progress-bar.teal{background:linear-gradient(90deg,var(--teal-light),var(--teal-dark))}.form-group{margin-bottom:1.25rem}.label{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.input{border:1px solid var(--gray-300);border-radius:var(--radius);background:var(--white);width:100%;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.input::placeholder{color:var(--gray-400)}.select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.checkbox-wrapper{align-items:flex-start;gap:.75rem;display:flex}.checkbox{width:1.125rem;height:1.125rem;accent-color:var(--primary);cursor:pointer;margin-top:.125rem}.upload-zone{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);text-align:center;background:var(--gray-50);cursor:pointer;padding:3rem 2rem;transition:all .2s}.upload-zone:hover,.upload-zone.active{border-color:var(--coral);background:linear-gradient(135deg,var(--peach-50),var(--coral-50));box-shadow:var(--shadow-md)}.upload-zone-icon{margin-bottom:1rem;font-size:3rem}.upload-zone-text{color:var(--gray-600);font-size:.875rem}.upload-zone-hint{color:var(--gray-400);margin-top:.5rem;font-size:.75rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.5rem}.stat-icon{border-radius:var(--radius);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;font-size:1.5rem;display:flex}.stat-icon.green{background:linear-gradient(135deg,var(--sage-light),var(--sage))}.stat-icon.blue{background:linear-gradient(135deg,var(--teal-light),var(--teal))}.stat-icon.yellow{background:linear-gradient(135deg,var(--peach-light),var(--peach))}.stat-icon.purple{background:linear-gradient(135deg,var(--coral-50),var(--coral-light))}.stat-icon.coral{background:linear-gradient(135deg,var(--coral-light),var(--coral))}.stat-icon.peach{background:linear-gradient(135deg,var(--peach-light),var(--peach))}.stat-icon.teal{background:linear-gradient(135deg,var(--teal-light),var(--teal))}.stat-icon.sage{background:linear-gradient(135deg,var(--sage-light),var(--sage))}.stat-value{color:var(--gray-900);font-size:1.75rem;font-weight:700}.stat-label{color:var(--gray-500);margin-top:.25rem;font-size:.875rem}.stat-change{margin-top:.5rem;font-size:.75rem}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--error)}.table-container{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--gray-100);padding:.875rem 1rem}.table th{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);background:var(--gray-50);font-size:.75rem;font-weight:600}.table td{color:var(--gray-700);font-size:.875rem}.table tr:hover td{background:var(--gray-50)}.tabs{background:var(--gray-100);border-radius:var(--radius-lg);gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:flex}.tab{color:var(--gray-600);border-radius:var(--radius);cursor:pointer;text-align:center;background:0 0;border:none;flex:1;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.tab:hover{color:var(--gray-900)}.tab.active{background:var(--white);color:var(--gray-900);box-shadow:var(--shadow-sm)}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{opacity:.5;margin-bottom:1rem;font-size:4rem}.empty-title{color:var(--gray-900);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.empty-desc{color:var(--gray-500);max-width:400px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}.loading{color:var(--gray-500);justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.spinner{border:3px solid var(--peach-light);border-top-color:var(--coral);border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.alert{border-radius:var(--radius);align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.alert-icon{flex-shrink:0;font-size:1.25rem}.alert-content{flex:1}.alert-title{margin-bottom:.25rem;font-weight:600}.alert-success{background:var(--success-light);color:#065f46}.alert-error{background:var(--error-light);color:#991b1b}.alert-warning{background:var(--warning-light);color:#92400e}.alert-info{background:var(--info-light);color:#1e40af}.modal-overlay{z-index:1000;opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;transition:all .2s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;visibility:visible}.modal{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;transition:transform .2s;overflow-y:auto;transform:scale(.95)}.modal-overlay.open .modal{transform:scale(1)}.modal-header{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.skill-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.25rem;transition:all .2s}.skill-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow)}.skill-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.skill-name{color:var(--gray-900);font-weight:600}.skill-level{align-items:center;gap:.5rem;display:flex}.skill-status{color:var(--gray-600);align-items:center;gap:.5rem;margin-top:.75rem;font-size:.875rem;display:flex}.skill-actions{gap:.5rem;margin-top:1rem;display:flex}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.stats-grid{grid-template-columns:1fr}.page-content{padding:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s forwards fadeIn}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.slide-in{animation:.3s forwards slideIn}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.login-page{background:radial-gradient(ellipse at 20% 20%,var(--peach-50)0%,transparent 50%),radial-gradient(ellipse at 80% 80%,var(--teal-50)0%,transparent 50%),radial-gradient(ellipse at 50% 50%,var(--coral-50)0%,transparent 50%),linear-gradient(135deg,var(--sage-light)0%,var(--teal-light)50%,var(--peach-light)100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle at 30% 30%,#f9ce9c4d 0%,#0000 30%),radial-gradient(circle at 70% 70%,#c9dde34d 0%,#0000 30%);width:200%;height:200%;animation:20s ease-in-out infinite floatBg;position:absolute;top:-50%;left:-50%}@keyframes floatBg{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(2%,2%)rotate(1deg)}66%{transform:translate(-1%,1%)rotate(-1deg)}}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);text-align:center;z-index:1;background:#fffffff2;width:100%;max-width:420px;padding:2.5rem;position:relative;box-shadow:0 25px 50px -12px #0000001a,0 0 0 1px #ffffff80}.login-logo{background:linear-gradient(135deg,var(--peach),var(--coral));border-radius:var(--radius-lg);color:#fff;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.5rem;font-size:2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px -4px #e1818266}.login-logo:before{content:"";background:linear-gradient(45deg,#0000 40%,#fff6 50%,#0000 60%);width:200%;height:200%;animation:2s infinite shimmer;position:absolute;top:-50%;left:-50%}.login-title{color:var(--gray-900);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--gray-500);margin-bottom:2rem}.login-divider{color:var(--gray-400);align-items:center;gap:1rem;margin:1.5rem 0;font-size:.875rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--gray-200);flex:1;height:1px}.login-help{color:var(--gray-500);margin-top:2rem;font-size:.875rem}.action-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.action-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center;cursor:pointer;padding:1.5rem;transition:all .2s}.action-card:hover{border-color:var(--coral-light);box-shadow:var(--shadow-lg),0 0 0 1px var(--peach-light);transform:translateY(-4px)}.action-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;font-size:1.75rem;display:flex}.action-icon.green{background:linear-gradient(135deg,var(--sage-50),var(--sage-light))}.action-icon.blue{background:linear-gradient(135deg,var(--teal-50),var(--teal-light))}.action-icon.purple{background:linear-gradient(135deg,var(--coral-50),var(--coral-light))}.action-icon.yellow{background:linear-gradient(135deg,var(--peach-50),var(--peach-light))}.action-icon.coral{background:linear-gradient(135deg,var(--coral-50),var(--coral-light))}.action-icon.peach{background:linear-gradient(135deg,var(--peach-50),var(--peach-light))}.action-icon.teal{background:linear-gradient(135deg,var(--teal-50),var(--teal-light))}.action-icon.sage{background:linear-gradient(135deg,var(--sage-50),var(--sage-light))}.action-title{color:var(--gray-900);margin-bottom:.25rem;font-weight:600}.action-desc{color:var(--gray-500);font-size:.813rem}.page{background:var(--gray-50);flex-direction:column;min-height:100vh;display:flex}.header{background:var(--white);border-bottom:1px solid var(--gray-200);z-index:100;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;padding:0 1.5rem;display:flex}.logo{color:var(--gray-800);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.logo:hover{text-decoration:none}.logo-icon{background:linear-gradient(135deg,var(--peach),var(--coral-light));border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;box-shadow:0 4px 12px -2px #e181824d}.nav{align-items:center;gap:.5rem;display:flex}.nav-link{color:var(--gray-600);border-radius:var(--radius);padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}.nav-link:hover{background:var(--gray-100);color:var(--gray-900);text-decoration:none}.nav-link.active{background:linear-gradient(135deg,var(--peach-50),var(--coral-50));color:var(--coral)}.main{flex:1;padding:2rem 1.5rem}.container{max-width:1200px;margin:0 auto}.assessment-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.assessment-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);transition:all .2s;overflow:hidden}.assessment-card:hover{box-shadow:var(--shadow-md)}.assessment-header{background:linear-gradient(135deg,var(--peach-50),var(--coral-50),var(--white));border-bottom:1px solid var(--gray-100);padding:1.5rem}.assessment-icon{margin-bottom:.75rem;font-size:2.5rem}.assessment-title{margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.assessment-subtitle{color:var(--gray-500);font-size:.813rem}.assessment-content{padding:1.5rem}.assessment-features{color:var(--gray-600);font-size:.875rem;list-style:none}.assessment-features li{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.assessment-features li:before{content:"✓";color:var(--success);font-weight:600}.assessment-footer{border-top:1px solid var(--gray-100);padding:1rem 1.5rem}.score-circle{background:conic-gradient(var(--coral)calc(var(--score,0)*3.6deg),var(--gray-200)0deg);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;margin:0 auto;display:flex;position:relative;box-shadow:0 8px 32px -8px #e181824d}.score-circle:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.score-circle-inner{z-index:1;text-align:center;position:relative}.score-value{color:var(--gray-900);font-size:2.5rem;font-weight:700;line-height:1}.score-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.score-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0;display:grid}.score-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center;padding:1.25rem;transition:all .3s}.score-card:hover{box-shadow:var(--shadow-md);border-color:var(--peach);transform:translateY(-4px)}.score-card-icon{margin-bottom:.5rem;font-size:1.5rem}.score-card-value{color:var(--coral);font-size:1.5rem;font-weight:700}.score-card-label{color:var(--gray-500);margin-top:.25rem;font-size:.75rem}.level-badge{border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex}.level-badge.beginner{background:linear-gradient(135deg,var(--teal-light),var(--teal));color:var(--gray-800)}.level-badge.intermediate{background:linear-gradient(135deg,var(--peach-light),var(--peach));color:var(--gray-800)}.level-badge.advanced{background:linear-gradient(135deg,var(--sage-light),var(--sage-dark));color:#fff}.level-badge.expert{background:linear-gradient(135deg,var(--coral-light),var(--coral));color:#fff}.recording-indicator{justify-content:center;align-items:center;gap:.5rem;display:flex}.recording-dot{background:var(--coral);border-radius:50%;width:12px;height:12px;animation:1.5s ease-in-out infinite recordingPulse}@keyframes recordingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.recording-waves{align-items:center;gap:3px;height:32px;display:flex}.recording-wave{background:var(--coral);border-radius:2px;width:4px;animation:.6s ease-in-out infinite waveAnim}.recording-wave:first-child{height:16px;animation-delay:0s}.recording-wave:nth-child(2){height:24px;animation-delay:.1s}.recording-wave:nth-child(3){height:32px;animation-delay:.2s}.recording-wave:nth-child(4){height:24px;animation-delay:.1s}.recording-wave:nth-child(5){height:16px;animation-delay:0s}@keyframes waveAnim{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.timer-display{color:var(--gray-900);text-align:center;background:linear-gradient(135deg,var(--peach-50),var(--teal-50));border-radius:var(--radius-lg);min-width:160px;padding:1rem;font-family:Inter,monospace;font-size:3rem;font-weight:700}.timer-display.warning{color:var(--peach-dark);background:var(--peach-50)}.timer-display.danger{color:var(--coral);background:var(--coral-50);animation:1s infinite timerBlink}@keyframes timerBlink{0%,to{opacity:1}50%{opacity:.7}}.code-editor{background:var(--gray-900);color:#e2e8f0;border-radius:var(--radius-lg);max-height:400px;padding:1.5rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;line-height:1.6;overflow:auto}.code-editor-header{background:var(--gray-800);border-radius:var(--radius)var(--radius)0 0;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.code-editor-dot{border-radius:50%;width:12px;height:12px}.code-editor-dot.red{background:#ff5f56}.code-editor-dot.yellow{background:#ffbd2e}.code-editor-dot.green{background:#27ca40}.feedback-card{background:linear-gradient(135deg,var(--peach-50),var(--white));border:1px solid var(--peach-light);border-radius:var(--radius-lg);margin:1rem 0;padding:1.5rem}.feedback-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.feedback-icon{background:linear-gradient(135deg,var(--coral-light),var(--coral));border-radius:var(--radius);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.feedback-title{color:var(--gray-900);font-weight:600}.feedback-content{color:var(--gray-600);font-size:.875rem;line-height:1.6}.skill-radar{aspect-ratio:1;background:linear-gradient(135deg,var(--peach-50),var(--teal-50));border-radius:50%;justify-content:center;align-items:center;width:100%;max-width:300px;margin:0 auto;display:flex;position:relative}.skill-radar:before{content:"";border:2px dashed var(--gray-300);border-radius:50%;position:absolute;inset:20%}.skill-radar:after{content:"";border:2px dashed var(--gray-200);border-radius:50%;position:absolute;inset:40%}.assess-tab{border-radius:var(--radius-lg);background:var(--white);cursor:pointer;text-align:center;border:2px solid #0000;flex:1;padding:1rem;transition:all .3s}.assess-tab:hover{border-color:var(--peach-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.assess-tab.active{border-color:var(--coral);background:linear-gradient(135deg,var(--coral-50),var(--white));box-shadow:0 4px 16px -4px #e181824d}.assess-tab-icon{margin-bottom:.5rem;font-size:2rem;display:block}.assess-tab-title{color:var(--gray-900);margin-bottom:.25rem;font-weight:600}.assess-tab-desc{color:var(--gray-500);font-size:.75rem}.hku-watermark{opacity:.9;z-index:50;transition:all .3s;position:fixed;bottom:20px;right:20px}.hku-watermark:hover{opacity:1;transform:scale(1.05)}.hku-watermark img{max-width:160px;height:auto}
