:root{--font-sans:"Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:.9375rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-8);--space-xl:var(--space-12);--space-2xl:var(--space-16);--space-3xl:var(--space-16);--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--ease-default:cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--app-max-width:480px;--header-height:56px;--bottom-nav-height:60px;--safe-area-bottom:env(safe-area-inset-bottom,0px);--focus-ring:0 0 0 2px var(--bg-primary), 0 0 0 4px var(--accent);--enter-translate-y:8px;--enter-duration:var(--duration-normal);--enter-ease:var(--ease-out);--theme-transition:background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease}:root,[data-theme=light]{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-tertiary:#eef1f6;--bg-elevated:#fff;--bg-hover:rgba(0,0,0,.04);--bg-active:rgba(0,0,0,.06);--text-primary:#1a1f36;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-inverse:#fff;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-active:#1e40af;--accent-subtle:rgba(37,99,235,.1);--accent-text:#1e40af;--success:#059669;--success-subtle:rgba(5,150,105,.1);--warning:#d97706;--warning-subtle:rgba(217,119,6,.1);--danger:#dc2626;--danger-subtle:rgba(220,38,68,.1);--info:#2563eb;--info-subtle:rgba(37,99,235,.1);--border:rgba(0,0,0,.08);--border-strong:rgba(0,0,0,.15);--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 24px rgba(0,0,0,.12);--shadow-xl:0 16px 48px rgba(0,0,0,.16);--glass-bg:rgba(255,255,255,.85);--glass-border:rgba(0,0,0,.08);--gradient-hero:linear-gradient(135deg, #eff6ff 0%, #dbeafe 50%, #bfdbfe 100%);--gradient-card:linear-gradient(145deg, rgba(255,255,255,.9), rgba(238,241,246,.6));--gradient-accent:linear-gradient(135deg, #2563eb, #1d4ed8)}[data-theme=dark]{--bg-primary:#0f1219;--bg-secondary:#1a1f36;--bg-tertiary:#242b45;--bg-elevated:#2d3555;--bg-hover:rgba(255,255,255,.05);--bg-active:rgba(255,255,255,.08);--text-primary:#e8eaed;--text-secondary:#9aa0b8;--text-tertiary:#8b92b4;--text-inverse:#1a1f36;--accent:#f59e0b;--accent-hover:#fbbf24;--accent-active:#d97706;--accent-subtle:rgba(245,158,11,.12);--accent-text:#fbbf24;--success:#10b981;--success-subtle:rgba(16,185,129,.12);--warning:#f59e0b;--warning-subtle:rgba(245,158,11,.12);--danger:#ef4444;--danger-subtle:rgba(239,68,68,.12);--info:#3b82f6;--info-subtle:rgba(59,130,246,.12);--border:rgba(255,255,255,.08);--border-strong:rgba(255,255,255,.15);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.5);--shadow-xl:0 16px 48px rgba(0,0,0,.6);--glass-bg:rgba(26,31,54,.85);--glass-border:rgba(255,255,255,.1);--gradient-hero:linear-gradient(135deg, #1a1f36 0%, #0f1219 50%, #1a1025 100%);--gradient-card:linear-gradient(145deg, rgba(36,43,69,.8), rgba(26,31,54,.6));--gradient-accent:linear-gradient(135deg, #f59e0b, #f97316)}[data-theme-transition] *{transition:background-color var(--duration-normal) var(--ease-default), color var(--duration-normal) var(--ease-default), border-color var(--duration-normal) var(--ease-default), box-shadow var(--duration-normal) var(--ease-default)!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}img,svg{max-width:100%;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;-webkit-appearance:none;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;-webkit-appearance:none;background:0 0;border:none;outline:none}ul,ol{list-style:none}h1{font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-tight)}h2{font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}h3{font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-tight)}h4{font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-center{text-align:center}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:focus-visible{box-shadow:var(--focus-ring);outline:none}:focus:not(:focus-visible){box-shadow:none}.btn:focus-visible{box-shadow:var(--focus-ring)}.nav-item:focus-visible{box-shadow:var(--focus-ring)}.chip:focus-visible{box-shadow:var(--focus-ring)}.settings-item:focus-visible{box-shadow:var(--focus-ring)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(var(--enter-translate-y,8px))}to{opacity:1;transform:translateY(0)}}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dropIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-elevated{background:var(--gradient-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-medium);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);-webkit-filter:brightness(1.1);filter:brightness(1.1)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover{-webkit-filter:brightness(1.1);filter:brightness(1.1);box-shadow:var(--shadow-md)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-full{width:100%}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;display:inline-flex}.badge-accent{background:var(--accent-subtle);color:var(--accent-text)}.badge-success{background:var(--success-subtle);color:var(--success)}.badge-warning{background:var(--warning-subtle);color:var(--warning)}.badge-info{background:var(--info-subtle);color:var(--info)}.badge-danger{background:var(--danger-subtle);color:var(--danger)}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.input::-webkit-input-placeholder{color:var(--text-tertiary)}.input::-moz-placeholder{color:var(--text-tertiary)}.input::-ms-input-placeholder{color:var(--text-tertiary)}.input::placeholder{color:var(--text-tertiary)}.search-box{position:relative}.search-box .input{padding-left:var(--space-10);padding-right:var(--space-10);border-radius:var(--radius-full);background:var(--bg-tertiary)}.search-box .search-icon{left:var(--space-4);color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-box .search-clear{right:var(--space-3);color:var(--text-tertiary);padding:var(--space-1);display:none;position:absolute;top:50%;transform:translateY(-50%)}.search-box .search-clear.visible{display:block}.chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex}.chip:hover{background:var(--bg-hover)}.chip.active{background:var(--accent-subtle);color:var(--accent-text);border-color:var(--accent)}.divider{background:var(--border);height:1px;margin:var(--space-4) 0}.avatar{border-radius:var(--radius-lg);background:var(--bg-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.avatar-sm{width:32px;height:32px;font-size:16px}.avatar-md{width:48px;height:48px;font-size:24px}.avatar-lg{width:64px;height:64px;font-size:32px}.avatar-xl{width:80px;height:80px;font-size:40px}.empty-state{padding:var(--space-12) var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state .empty-icon{margin-bottom:var(--space-4);opacity:.5;font-size:48px}.empty-state .empty-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-2);color:var(--text-secondary)}.empty-state .empty-desc{font-size:var(--text-sm);color:var(--text-tertiary);max-width:280px}.empty-state .empty-action{margin-top:var(--space-4)}.skeleton{background:var(--bg-tertiary);border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--bg-hover), transparent);animation:1.5s infinite skeleton-shimmer;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-moz-selection{background:var(--accent-subtle);color:var(--accent-text)}::selection{background:var(--accent-subtle);color:var(--accent-text)}#app{width:100%;max-width:var(--app-max-width);min-height:100vh;background:var(--bg-primary);min-height:100dvh;transition:var(--theme-transition);margin:0 auto;position:relative;overflow-x:hidden}.page{padding:var(--space-4);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-4));animation:pageIn var(--duration-normal) var(--ease-out);display:none;overflow-x:hidden}.page.active{display:block}.page-header{padding:var(--space-2) 0 var(--space-4)}.page-header h1{font-size:var(--text-xl);font-weight:var(--font-bold)}.page-header .page-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}#bottomNav{width:100%;max-width:var(--app-max-width);height:calc(var(--bottom-nav-height) + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);transition:var(--theme-transition);z-index:calc(var(--z-modal) + 1);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--text-xs);transition:color var(--duration-fast) var(--ease-default);flex-direction:column;align-items:center;gap:2px;min-width:48px;display:flex;position:relative}.nav-item .nav-icon{transition:transform var(--duration-fast) var(--ease-bounce);font-size:24px;line-height:1}.nav-item .nav-label{font-weight:var(--font-medium)}.nav-item.active{color:var(--accent);background:var(--accent-subtle);border-radius:var(--radius-lg)}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-item:active .nav-icon{transform:scale(.9)}#modalOverlay{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);background:rgba(0,0,0,.6);justify-content:center;align-items:center;display:none;position:fixed;top:0;bottom:0;left:0;right:0}#modalOverlay.active{display:flex}.modal-content{width:calc(100% - var(--space-8));max-width:var(--app-max-width);max-height:calc(85vh - var(--bottom-nav-height));background:var(--bg-secondary);border-radius:var(--radius-2xl);padding:var(--space-6);padding-bottom:calc(var(--space-6) + var(--safe-area-bottom));animation:modalSlideUp var(--duration-normal) var(--ease-out);margin-bottom:var(--bottom-nav-height);overflow-y:auto}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-handle{background:var(--border-strong);border-radius:var(--radius-full);width:36px;height:4px;margin:0 auto var(--space-4)}#modalOverlay.closing .modal-content{animation:modalSlideDown var(--duration-normal) var(--ease-in) forwards}@keyframes modalSlideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}#toastContainer{top:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);width:calc(100% - var(--space-8));max-width:calc(var(--app-max-width) - var(--space-8));pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--text-primary);animation:toastIn var(--duration-normal) var(--ease-out);pointer-events:auto;display:flex}.toast.toast-out{animation:toastOut var(--duration-fast) var(--ease-in) forwards}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--info)}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}.grid-2{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.scroll-x{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}.scroll-x>*{scroll-snap-align:start;flex-shrink:0}.scroll-container{gap:var(--space-3);padding-bottom:var(--space-2);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.scroll-container::-webkit-scrollbar{display:none}.scroll-container>*{flex-shrink:0}.section-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.section-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold)}.section-header .section-action{font-size:var(--text-sm);color:var(--text-tertiary);cursor:pointer}.quick-actions{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(5,1fr);display:grid}@media (max-width:360px){.quick-actions{grid-template-columns:repeat(3,1fr)}}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:481px){:root{--app-max-width:768px}.grid-2,.grid-3,.grid-4{gap:var(--space-4)}}@media (min-width:769px){:root{--app-max-width:1024px}.page{padding:var(--space-6)}.grid-2{grid-template-columns:repeat(3,1fr)}.grid-3{grid-template-columns:repeat(4,1fr)}.grid-4{grid-template-columns:repeat(5,1fr)}}@media (min-width:1025px){:root{--app-max-width:1200px}}@media (orientation:landscape) and (max-height:500px){.page{padding-bottom:calc(var(--bottom-nav-height) + var(--space-2))}#bottomNav{height:calc(var(--bottom-nav-height) + var(--safe-area-bottom))}}[data-device=desktop] #app{max-width:1024px}[data-device=desktop] .page{padding:var(--space-6);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-6))}[data-device=desktop] .quick-actions{grid-template-columns:repeat(5,1fr);max-width:600px;margin-left:auto;margin-right:auto}[data-device=desktop] .category-grid{grid-template-columns:repeat(3,1fr)}[data-device=desktop] .recommend-card{width:240px}[data-device=desktop] .job-list{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}[data-device=desktop] .job-card{margin-bottom:0}[data-device=desktop] .chat-page{max-width:800px}[data-device=desktop] .chat-bubble{max-width:70%}[data-device=desktop] .compare-slots{gap:var(--space-4);justify-content:center;display:flex}[data-device=desktop] .compare-slot{flex:1;max-width:300px}[data-device=desktop] .compare-table{font-size:var(--text-sm)}[data-device=desktop] .stats-grid{max-width:500px;margin-left:auto;margin-right:auto}[data-device=desktop] .tips-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}[data-device=desktop] .tip-card{margin-bottom:0}[data-device=desktop] .settings-list{max-width:600px;margin-left:auto;margin-right:auto}.announcement-bar{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);margin:var(--space-2) var(--space-md) 0;border-radius:var(--radius-lg);font-size:var(--text-xs);color:var(--text-secondary);animation:fadeSlideIn .4s var(--ease-out);background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(59,130,246,.08));border:1px solid rgba(245,158,11,.15);display:flex;position:relative}.announcement-icon{flex-shrink:0;font-size:16px}.announcement-text{flex:1;line-height:1.5}.announcement-close{cursor:pointer;color:var(--text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:18px;transition:background .2s;display:flex}.announcement-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.checkin-reminder-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:var(--space-2) var(--space-md) 0;border-radius:var(--radius-lg);cursor:pointer;animation:fadeSlideIn .4s var(--ease-out);background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(245,158,11,.06));border:1px solid rgba(239,68,68,.12);transition:background .2s,transform .15s;display:flex}.checkin-reminder-card:hover{background:linear-gradient(135deg,rgba(239,68,68,.12),rgba(245,158,11,.1));transform:translateY(-1px)}.checkin-reminder-card:active{transform:scale(.98)}.checkin-reminder-icon{border-radius:var(--radius-md);background:rgba(239,68,68,.1);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.checkin-reminder-text{flex:1;min-width:0}.checkin-reminder-main{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px}.checkin-reminder-sub{font-size:var(--text-xs);color:var(--text-secondary)}.checkin-reminder-arrow{flex-shrink:0;align-items:center;display:flex}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-hover) 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{height:72px;margin-bottom:var(--space-2);border-radius:var(--radius-lg)}.skeleton-line{height:16px;margin-bottom:var(--space-2)}.skeleton-line.short{width:40%}.skeleton-line.medium{width:70%}.skeleton-line.long{width:90%}.skeleton-circle{border-radius:50%;width:48px;height:48px}.hero-section{text-align:center;padding:var(--space-8) var(--space-4) var(--space-6);background:linear-gradient(135deg, var(--bg-primary), var(--bg-secondary));border-radius:0 0 var(--radius-2xl) var(--radius-2xl);margin-bottom:var(--space-6)}.hero-title{font-size:32px;font-weight:var(--font-black);color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.5px}.hero-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-5)}.hero-search-box{max-width:480px;margin:0 auto;position:relative}.hero-search-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-primary);color:var(--text-primary);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default);box-sizing:border-box;outline:none;padding-right:48px}.hero-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.hero-search-input::-webkit-input-placeholder{color:var(--text-tertiary)}.hero-search-input::-moz-placeholder{color:var(--text-tertiary)}.hero-search-input::-ms-input-placeholder{color:var(--text-tertiary)}.hero-search-input::placeholder{color:var(--text-tertiary)}.hero-search-btn{background:var(--accent);color:#fff;cursor:pointer;width:40px;height:40px;transition:background var(--duration-fast);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.hero-search-btn:hover{background:var(--accent-hover)}.search-dropdown{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:320px;z-index:var(--z-dropdown);display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-dropdown.active{display:block}.search-dropdown-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.search-dropdown-item{align-items:center;gap:var(--space-3);padding:var(--space-3);cursor:pointer;transition:background var(--duration-fast);display:flex}.search-dropdown-item:hover{background:var(--bg-hover)}.item-icon{flex-shrink:0;font-size:20px}.item-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.item-desc{font-size:var(--text-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.item-name mark,.item-desc mark{color:var(--accent);background:rgba(59,130,246,.2);border-radius:2px;padding:0 1px}.quick-section{padding:0 var(--space-4) var(--space-6)}.quick-grid{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.quick-item{align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-lg);transition:background var(--duration-fast);flex-direction:column;display:flex}.quick-item:hover{background:var(--bg-hover)}.quick-icon-wrap{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.quick-label{color:var(--text-secondary);font-size:12px;font-weight:var(--font-medium)}.content-section{padding:0 var(--space-4) var(--space-6)}.section-header{margin-bottom:var(--space-4)}.section-heading{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.section-subheading{font-size:var(--text-sm);color:var(--text-tertiary)}.rec-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.rec-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:relative}.rec-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.rec-card-icon{background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border);width:56px;height:56px;margin-bottom:var(--space-3);justify-content:center;align-items:center;font-size:36px;display:flex}.rec-tag{font-size:11px;font-weight:var(--font-semibold);border-radius:var(--radius-full);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin-bottom:var(--space-2);padding:2px 8px;display:inline-block}.rec-card-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.rec-card-desc{font-size:var(--text-xs);color:var(--text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;line-height:1.5;display:-webkit-box;overflow:hidden}.rec-card-arrow{font-size:var(--text-lg);font-weight:var(--font-bold);margin-top:var(--space-2);align-self:flex-end}.more-link{text-align:center;padding:var(--space-3);color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;border-radius:var(--radius-lg);transition:background var(--duration-fast)}.more-link:hover{background:var(--bg-hover)}.cat-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.cat-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);display:flex}.cat-card:hover{border-color:var(--accent);background:var(--bg-hover)}.cat-card-icon{flex-shrink:0;font-size:28px}.cat-card-info{flex:1}.cat-card-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.cat-card-count{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.recent-list{flex-direction:column;gap:2px;display:flex}.recent-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast);display:flex}.recent-item:hover{background:var(--bg-hover)}.recent-icon{flex-shrink:0;font-size:20px}.recent-info{flex:1;justify-content:space-between;align-items:center;display:flex}.recent-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.recent-time{font-size:var(--text-xs);color:var(--text-tertiary)}.recent-arrow{color:var(--text-tertiary);font-size:18px}@media (min-width:768px){.hero-section{padding:var(--space-12) var(--space-6) var(--space-8)}.hero-title{font-size:42px}.hero-search-box{max-width:560px}.rec-grid{grid-template-columns:repeat(3,1fr)}.cat-grid{grid-template-columns:repeat(4,1fr)}.content-section,.quick-section{max-width:800px;margin:0 auto}}.category-tabs{gap:var(--space-2);padding-bottom:var(--space-3);scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tab{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);text-overflow:ellipsis;flex-shrink:0;max-width:140px;display:flex;overflow:hidden}.category-tab.active{background:var(--accent-subtle);color:var(--accent-text);border-color:var(--accent)}.mid-category-chips{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.job-list{gap:var(--space-3);flex-direction:column;display:flex}.job-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);animation:cardIn var(--duration-normal) var(--ease-out) both;box-shadow:var(--shadow-sm);display:flex}.job-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-1px)}.job-card:active{background:var(--bg-hover);transform:scale(.98)}.job-card .job-icon{background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:28px;display:flex}.job-card .job-info{flex:1;min-width:0}.job-card .job-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px}.job-card .job-desc{font-size:var(--text-xs);color:var(--text-secondary);-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.job-card .job-salary{font-size:var(--text-xs);color:var(--accent);font-weight:var(--font-semibold);white-space:nowrap;background:var(--accent-subtle);border-radius:var(--radius-full);flex-shrink:0;padding:2px 8px}.job-card .job-salary-structured{color:#059669;background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.2)}.salary-filter-wrap{position:relative}.salary-filter-btn-row{align-items:center;gap:var(--space-2);display:flex}.salary-filter-btn{border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:4px;padding:6px 12px;line-height:1.4;transition:all .2s;display:inline-flex}.salary-filter-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.salary-filter-btn:active{transform:scale(.97)}.salary-filter-badge{background:var(--accent);color:#fff;min-width:18px;height:18px;font-size:11px;font-weight:var(--font-semibold);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.salary-filter-arrow{color:var(--text-tertiary);margin-left:2px;font-size:12px;transition:transform .2s}.salary-filter-clear{border-radius:var(--radius-full);color:var(--text-tertiary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:4px 10px;transition:all .2s}.salary-filter-clear:hover{color:var(--accent);background:var(--accent-subtle)}.salary-filter-panel{gap:var(--space-2);padding:var(--space-3);margin-top:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);animation:fadeSlideIn .2s var(--ease-out);flex-wrap:wrap;display:none}.salary-filter-panel.open{display:flex}.salary-filter-item{border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-primary);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 12px;transition:all .2s;display:inline-flex}.salary-filter-item:hover{border-color:var(--accent);color:var(--accent)}.salary-filter-checkbox{display:none}.salary-filter-checkbox:checked+.salary-filter-label{color:var(--accent);font-weight:var(--font-semibold)}.salary-filter-item:has(.salary-filter-checkbox:checked){border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.job-detail{animation:modalSlideUp var(--duration-normal) var(--ease-out)}.job-detail-header{text-align:center;padding:var(--space-6) 0;position:relative}.detail-close-btn{top:var(--space-3);right:var(--space-3);background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;z-index:1;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:background .2s,color .2s;display:flex;position:absolute}.detail-close-btn:hover,.detail-close-btn:active{background:var(--bg-hover);color:var(--text-primary)}.job-detail-header .detail-icon{margin-bottom:var(--space-3);font-size:56px}.job-detail-header .detail-name{font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.job-detail-header .detail-desc{font-size:var(--text-sm);color:var(--text-secondary)}.overview-grid{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(2,1fr);display:grid}.overview-item{padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-lg)}.overview-item .overview-label{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-1)}.overview-item .overview-value{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-relaxed)}.overview-item.full-width{grid-column:1/-1}.learning-path{margin:var(--space-4) 0}.level-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-2);overflow:hidden}.level-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--duration-fast);display:flex}.level-header:active{background:var(--bg-hover)}.level-header .level-icon{flex-shrink:0;font-size:20px}.level-header .level-info{flex:1}.level-header .level-name{font-size:var(--text-sm);font-weight:var(--font-semibold)}.level-header .level-desc{font-size:var(--text-xs);color:var(--text-secondary);margin-top:1px}.level-header .level-arrow{color:var(--text-tertiary);transition:transform var(--duration-fast)}.level-header.expanded .level-arrow{transform:rotate(90deg)}.level-steps{padding:0 var(--space-4) var(--space-4);display:none}.level-steps.expanded{display:block}.step-item{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);display:flex}.step-item .step-icon{flex-shrink:0;margin-top:2px;font-size:16px}.step-item .step-title{font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:2px}.step-item .step-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-relaxed)}.step-item .step-time{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:10px}.step-item .step-tip{font-size:var(--text-xs);color:var(--accent);background:var(--accent-subtle);border-left:3px solid var(--accent);padding:var(--space-2) var(--space-3);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-top:var(--space-2);line-height:var(--leading-relaxed)}.step-item.completed .step-desc,.step-item.completed .step-tip{opacity:.5}.level-info .level-outcome{font-size:var(--text-xs);color:var(--accent);opacity:.8;margin-top:2px}.detail-actions{gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--border);margin-top:var(--space-4);display:flex}.detail-actions .btn{flex:1}.ai-header{padding:var(--space-3) 0;border-bottom:1px solid var(--border);margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.ai-model-selector{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:flex}.ai-model-selector .model-dot{background:var(--success);border-radius:50%;width:8px;height:8px}.ai-settings-btn{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-secondary);transition:background var(--duration-fast);justify-content:center;align-items:center;display:flex}.ai-settings-btn:hover{background:var(--bg-hover)}.chat-container{gap:var(--space-4);flex-direction:column;min-height:calc(100dvh - 300px);display:flex}.chat-bubble{gap:var(--space-2);max-width:85%;animation:bubbleIn var(--duration-normal) var(--ease-out);display:flex}.chat-bubble.user{flex-direction:row-reverse;align-self:flex-end}.chat-bubble .bubble-avatar{border-radius:var(--radius-full);background:var(--bg-tertiary);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.chat-bubble.user .bubble-avatar{background:var(--accent-subtle)}.chat-bubble .bubble-content{padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.chat-bubble.ai .bubble-content{background:var(--bg-secondary);border:1px solid var(--border);border-top-left-radius:var(--radius-sm)}.chat-bubble.user .bubble-content{background:var(--accent);color:#fff;border-top-right-radius:var(--radius-sm)}.typing-indicator{padding:var(--space-3) var(--space-4);gap:4px;display:flex}.typing-indicator span{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.4s infinite typingBounce}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.streaming-cursor{color:var(--accent);font-weight:var(--font-bold);animation:.8s infinite cursorBlink;display:inline}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.quick-questions{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.quick-question{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast)}.quick-question:hover{background:var(--accent-subtle);color:var(--accent-text);border-color:var(--accent)}.agent-selector{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-sm);color:var(--text-primary);align-items:center;gap:6px;padding:6px 12px;transition:border-color .2s;display:flex;position:relative}.agent-selector:hover{border-color:var(--accent)}.agent-dropdown{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:100;min-width:260px;padding:var(--space-2) 0;display:none;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.3)}.agent-dropdown.show{display:block}.agent-option{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);transition:background .15s;display:flex}.agent-option:hover{background:var(--accent-subtle);color:var(--text-primary)}.agent-option.active{color:var(--accent);background:rgba(245,158,11,.12);font-weight:600}.agent-option span:first-child{flex-shrink:0;font-size:18px}.agent-check{color:var(--accent);font-weight:700;font-size:var(--text-sm);flex-shrink:0;margin-left:auto}.chat-input-area{bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom));width:100%;max-width:var(--app-max-width);padding:var(--space-3) var(--space-4);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);gap:var(--space-2);z-index:var(--z-sticky);display:flex;position:fixed;left:50%;transform:translate(-50%)}.chat-input-area .input{border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);background:var(--bg-tertiary);border:1px solid var(--border);flex:1}.chat-input-area .send-btn{background:var(--gradient-accent);color:#fff;width:40px;height:40px;transition:all var(--duration-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input-area .send-btn:active{transform:scale(.9)}.chat-input-area .send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-area .web-search-btn{background:var(--bg-tertiary);width:36px;height:36px;color:var(--text-secondary);border:1px solid var(--border);transition:all var(--duration-fast);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input-area .web-search-btn:hover{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent);box-shadow:0 0 12px rgba(245,158,11,.2)}.chat-input-area .web-search-btn:active{transform:scale(.9)}.chat-input-area .web-search-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input-area .web-search-btn.searching svg{animation:1s linear infinite spin}.ai-settings-panel{padding:var(--space-4) 0}.api-key-group{margin-bottom:var(--space-4)}.api-key-group .key-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2);display:flex}.api-key-group .key-status{background:var(--text-tertiary);border-radius:50%;width:8px;height:8px}.api-key-group .key-status.connected{background:var(--success)}.api-key-group .input{font-family:var(--font-mono);font-size:var(--text-sm)}.compare-slots{gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.compare-slot{justify-content:center;align-items:center;gap:var(--space-2);background:var(--bg-tertiary);border:2px dashed var(--border);border-radius:var(--radius-xl);cursor:pointer;min-height:80px;transition:all var(--duration-fast);color:var(--text-tertiary);font-size:var(--text-sm);flex-direction:column;flex:1;display:flex}.compare-slot.filled{border-style:solid;border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-text)}.compare-slot .slot-icon{font-size:32px}.compare-slot .slot-name{font-weight:var(--font-semibold);font-size:var(--text-sm)}.compare-table{border-collapse:collapse;width:100%}.compare-table th,.compare-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.compare-table th{color:var(--text-tertiary);font-weight:var(--font-medium);font-size:var(--text-xs);width:80px}.compare-table td{color:var(--text-primary)}.profile-header{text-align:center;padding:var(--space-8) 0 var(--space-6)}.profile-header .profile-avatar{background:var(--gradient-accent);width:80px;height:80px;margin:0 auto var(--space-3);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;font-size:36px;display:flex}.profile-header .profile-name{font-size:var(--text-xl);font-weight:var(--font-bold)}.profile-header .profile-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.stats-grid{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.stat-card{text-align:center;padding:var(--space-4) var(--space-2);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl)}.stat-card .stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--accent)}.stat-card .stat-label{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-1)}.settings-list{gap:var(--space-1);flex-direction:column;display:flex}.settings-item{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast);display:flex}.settings-item:active{background:var(--bg-hover)}.settings-item .setting-icon{flex-shrink:0;font-size:20px}.settings-item .setting-info{flex:1}.settings-item .setting-name{font-size:var(--text-sm);font-weight:var(--font-medium)}.settings-item .setting-desc{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:1px}.settings-item .setting-arrow{color:var(--text-tertiary);font-size:var(--text-sm)}.theme-toggle{border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;width:48px;height:28px;transition:background var(--duration-fast);position:relative}.theme-toggle.active{background:var(--accent);border-color:var(--accent)}.theme-toggle .toggle-thumb{width:22px;height:22px;transition:transform var(--duration-fast) var(--ease-bounce);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.theme-toggle.active .toggle-thumb{transform:translate(20px)}.loading-page{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;min-height:60vh;display:flex}.loading-page .loading-text{font-size:var(--text-sm);color:var(--text-secondary)}.confirm-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.confirm-message{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.confirm-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.btn-outline{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-medium);font-size:var(--text-sm);border:1px solid var(--border);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-default);background:0 0;display:inline-flex}.btn-outline:hover{background:var(--bg-hover);color:var(--text-primary)}.fav-remove-btn{padding:var(--space-1) var(--space-3);background:var(--warning-subtle);color:var(--warning);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);flex-shrink:0}.loading-spinner{padding:var(--space-4);justify-content:center;align-items:center;display:flex}.loading-spinner .spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.tips-header{text-align:center;padding:var(--space-lg) var(--space-md) var(--space-sm)}.tips-title{font-size:var(--text-xl);color:var(--text-primary);margin:0;font-weight:700}.tips-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-xs) 0 0}.tips-search{padding:0 var(--space-md) var(--space-sm)}.tips-tabs{gap:var(--space-xs);padding:var(--space-xs) var(--space-md) var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.tips-tabs::-webkit-scrollbar{display:none}.tips-sub-tabs{gap:var(--space-xs);padding:0 var(--space-md) var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none;animation:fadeIn .2s var(--ease-out);display:flex;overflow-x:auto}.tips-sub-tabs::-webkit-scrollbar{display:none}.tips-content{padding:0 var(--space-md) var(--space-xl)}.tips-category{margin-bottom:var(--space-lg)}.tips-cat-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.tips-cat-icon{font-size:var(--text-2xl)}.tips-cat-name{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:700}.tips-cat-desc{font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.tips-sub{margin-bottom:var(--space-md)}.disclaimer-overlay{z-index:9999;background:var(--bg-primary);padding:var(--space-4) var(--space-md);-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:auto}.disclaimer-overlay.hidden{display:none}.disclaimer-card{box-sizing:border-box;text-align:center;width:100%;max-width:420px;animation:fadeSlideIn .4s var(--ease-out);padding:var(--space-6);overflow-x:hidden}.disclaimer-logo{margin-bottom:var(--space-4);-webkit-filter:drop-shadow(0 4px 12px rgba(245,158,11,.3));filter:drop-shadow(0 4px 12px rgba(245,158,11,.3));font-size:64px}.disclaimer-title{color:var(--text-primary);letter-spacing:3px;margin:0;font-size:32px;font-weight:800}.disclaimer-version{font-size:var(--text-sm);color:var(--text-tertiary);margin:var(--space-xs) 0 var(--space-lg)}.disclaimer-body{text-align:left;gap:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.disclaimer-item{gap:var(--space-sm);background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-md);border-left:3px solid var(--accent);min-width:0;display:flex;overflow:hidden}.disclaimer-icon{flex-shrink:0;margin-top:2px;font-size:20px}.disclaimer-item strong{font-size:var(--text-sm);color:var(--accent);margin-bottom:4px;font-weight:700;display:block}.disclaimer-item p{font-size:var(--text-sm);color:var(--text-secondary);word-break:break-word;overflow-wrap:break-word;margin:0;line-height:1.6}.disclaimer-item strong+p strong{color:var(--text-primary);font-weight:600}.disclaimer-footer{gap:var(--space-md);margin-top:var(--space-6);flex-direction:column;display:flex}.mode-select-label{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin-bottom:var(--space-3)}.mode-select-group{gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.mode-select-card{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-direction:column;flex:1;display:flex}.mode-select-card:active{transform:scale(.97)}.mode-select-card.active{border-color:var(--accent);background:var(--accent-subtle)}.mode-select-icon{font-size:32px}.mode-select-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.mode-select-card.active .mode-select-name{color:var(--accent)}.disclaimer-check{align-items:flex-start;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;word-break:break-word;overflow-wrap:break-word;line-height:1.5;display:flex}.disclaimer-check input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:2px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;width:22px;height:22px;transition:all var(--duration-fast) var(--ease-default);flex-shrink:0;margin-top:0;position:relative}.disclaimer-check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.disclaimer-check input[type=checkbox]:checked:after{content:"";border:2.5px solid #fff;border-width:0 2.5px 2.5px 0;width:6px;height:11px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.disclaimer-check input[type=checkbox]:focus-visible{box-shadow:var(--focus-ring)}.disclaimer-btn{width:100%;padding:var(--space-md);border-radius:var(--radius-xl);background:var(--gradient-accent);color:#fff;font-size:var(--text-md);cursor:pointer;letter-spacing:1px;box-shadow:var(--shadow-sm);border:none;font-weight:700;transition:all .2s}.disclaimer-btn:disabled{opacity:.4;cursor:not-allowed}.disclaimer-btn:not(:disabled):active{opacity:.9;transform:scale(.97)}.tips-sub-name{font-size:var(--text-md);color:var(--accent);margin:0 0 var(--space-xs);padding-left:var(--space-xs);border-left:3px solid var(--accent);font-weight:600}.tips-list{gap:var(--space-sm);flex-direction:column;display:flex}.tip-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-md);transition:transform .15s}.tip-card:active{transform:scale(.98)}.tip-card-header{margin-bottom:var(--space-xs)}.tip-card-cat{font-size:var(--text-xs);color:var(--text-tertiary)}.tip-title{font-size:var(--text-md);color:var(--text-primary);margin:0;font-weight:600;line-height:1.4}.tip-content{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-xs) 0 0;line-height:1.6}.tip-preview{font-size:var(--text-sm);color:var(--text-tertiary);margin:var(--space-xs) 0 0;white-space:nowrap;text-overflow:ellipsis;line-height:1.4;overflow:hidden}.tip-tags{gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.tip-tag{font-size:var(--text-xs);color:var(--accent);padding:2px var(--space-xs);border-radius:var(--radius-full);background:rgba(245,158,11,.1)}.tips-search-result{animation:.3s dropIn}.tips-search-count{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-md)}.modal-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-4)}.modal-section-title.center{text-align:center}.modal-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.chat-page{height:calc(100dvh - var(--bottom-nav-height) - var(--safe-area-bottom));max-width:var(--app-max-width);padding:0 var(--space-4);box-sizing:border-box;flex-direction:column;margin:0 auto;display:flex}.chat-page .chat-messages{padding:var(--space-4) 0;flex:1;padding-bottom:80px;overflow-y:auto}.ai-welcome{text-align:center;padding:var(--space-10) var(--space-4)}.ai-welcome .welcome-icon{margin-bottom:var(--space-4);font-size:56px}.ai-welcome .welcome-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.ai-welcome .welcome-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-6)}.model-card{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-2);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);display:flex}.model-card.selected{border-color:var(--accent);background:var(--accent-subtle)}.model-card .model-icon{font-size:24px}.model-card .model-info{flex:1}.model-card .model-name{font-size:var(--text-sm);font-weight:var(--font-semibold)}.model-card .model-status{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.model-card .model-check{font-size:var(--text-lg);color:var(--accent);font-weight:var(--font-bold)}.picker-item{align-items:center;gap:var(--space-3);padding:var(--space-3);cursor:pointer;border-radius:var(--radius-lg);transition:background var(--duration-fast);display:flex}.picker-item:hover,.picker-item:active{background:var(--bg-hover)}.picker-item .picker-icon{font-size:20px}.picker-item .picker-name{font-size:var(--text-sm);font-weight:var(--font-medium);flex:1}.picker-item .picker-desc{font-size:var(--text-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.picker-item .picker-add{color:var(--accent);font-weight:var(--font-bold);font-size:var(--text-lg)}.picker-list{max-height:300px;overflow-y:auto}.compare-ai-section{margin-top:var(--space-6);text-align:center}.ai-result-card{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary)}.search-result-info{flex:1;min-width:0}.search-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm)}.version-info{text-align:center;padding:var(--space-6) 0;font-size:var(--text-xs);color:var(--text-tertiary)}.about-icon{text-align:center;margin-bottom:var(--space-3);font-size:48px}.about-version{text-align:center;font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-2)}.about-desc{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.about-features{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.about-features .badge{font-size:var(--text-xs)}.page-badge{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-normal);margin-left:var(--space-2)}.compare-table tbody tr:nth-child(2n){background:var(--bg-tertiary)}.compare-slot{min-height:100px}.slot-add-icon{opacity:.5;font-size:32px}.slot-add-label{font-size:var(--text-xs);color:var(--text-tertiary)}.community-tabs{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.community-tab{padding:var(--space-3);text-align:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);flex:1}.community-tab.active{color:var(--accent);background:var(--accent-subtle);border-color:var(--accent)}.post-card{padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-3);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.post-card:active{background:var(--bg-hover);transform:scale(.98)}.post-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.post-avatar{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.post-user-info{flex:1;min-width:0}.post-username{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.post-time{font-size:var(--text-xs);color:var(--text-tertiary)}.post-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.post-content{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-footer{gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);display:flex}.post-action{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary);cursor:pointer;display:flex}.post-action.liked{color:var(--danger)}.post-fab{bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-4));right:var(--space-4);background:var(--accent);color:#fff;cursor:pointer;width:52px;height:52px;transition:all var(--duration-fast) var(--ease-default);z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex;position:fixed;box-shadow:0 4px 12px rgba(245,158,11,.4)}.post-fab:active{transform:scale(.9)}.chat-messages-area{padding:var(--space-3) 0;flex:1;overflow-y:auto}.chat-bubble{gap:var(--space-2);margin-bottom:var(--space-3);max-width:85%;display:flex}.chat-bubble.self{flex-direction:row-reverse;margin-left:auto}.chat-bubble-avatar{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.chat-bubble-body{padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);border-top-left-radius:var(--radius-xs)}.chat-bubble.self .chat-bubble-body{background:var(--accent-subtle);border-color:var(--accent);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-xs)}.chat-bubble-name{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-1)}.chat-bubble-text{font-size:var(--text-sm);color:var(--text-primary);line-height:var(--leading-relaxed);word-break:break-word}.chat-bubble-time{color:var(--text-tertiary);margin-top:var(--space-1);text-align:right;font-size:10px}.chat-input-bar{gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border-top:1px solid var(--border);display:flex}.chat-input-bar .input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);flex:1}.chat-send-btn{padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;border:none}.post-detail-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.post-detail-back{font-size:var(--text-sm);color:var(--accent);cursor:pointer;padding:var(--space-2);background:0 0;border:none}.post-detail-content{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4);white-space:pre-wrap}.comment-list{border-top:1px solid var(--border);padding-top:var(--space-4)}.comment-item{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.comment-item:last-child{border-bottom:none}.comment-avatar{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.comment-body{flex:1;min-width:0}.comment-name{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-primary)}.comment-text{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1);line-height:var(--leading-relaxed)}.comment-time{color:var(--text-tertiary);margin-top:var(--space-1);font-size:10px}.comment-input-bar{gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;position:-webkit-sticky;position:sticky;bottom:0}.new-post-form{padding:var(--space-4)}.new-post-form .input,.new-post-form textarea{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;padding:var(--space-3);font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-3);box-sizing:border-box}.new-post-form textarea{resize:vertical;min-height:120px;line-height:var(--leading-relaxed)}.path-stage-selector{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.path-stage-chip{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.path-stage-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.level-card.dimmed{opacity:.4;pointer-events:none}.level-badge{background:var(--accent);color:#fff;border-radius:var(--radius-sm);margin-left:var(--space-2);padding:1px 6px;font-size:10px}.plan-section{margin-bottom:var(--space-4)}.plan-section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.plan-item{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.plan-item-icon{flex-shrink:0;font-size:14px}.plan-item-text{font-size:var(--text-sm);color:var(--text-secondary);flex:1}.plan-item-time{font-size:var(--text-xs);color:var(--text-tertiary)}.achievements-grid{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.achievement-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;transition:all var(--duration-fast) var(--ease-default)}.achievement-card.locked{opacity:.4;-webkit-filter:grayscale();filter:grayscale()}.achievement-card.unlocked{border-color:var(--accent);box-shadow:0 0 12px rgba(245,158,11,.2)}.achievement-icon{margin-bottom:var(--space-2);font-size:32px}.achievement-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.achievement-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-relaxed)}.achievement-condition{color:var(--text-tertiary);margin-top:var(--space-2);font-size:10px}.achievements-header{padding:var(--space-4);text-align:center}.achievements-count{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2)}.assess-start{text-align:center;padding:var(--space-10) var(--space-4)}.assess-start-icon{margin-bottom:var(--space-4);font-size:56px}.assess-start-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.assess-start-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.6}.assess-features{justify-content:center;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.assess-feature{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.assess-start-btn{padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:var(--font-bold);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast);background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;box-shadow:0 4px 15px rgba(99,102,241,.3)}.assess-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(99,102,241,.4)}.assess-history{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--accent);cursor:pointer}.assess-question-page{padding:var(--space-4)}.assess-progress{margin-bottom:var(--space-6)}.assess-progress-bar{background:var(--bg-tertiary);height:6px;margin-bottom:var(--space-2);border-radius:3px;overflow:hidden}.assess-progress-bar>div{height:100%;transition:width .4s var(--ease-default);background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px}.assess-progress-label{text-align:right;font-size:var(--text-xs);color:var(--text-tertiary)}.assess-q-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-6);line-height:1.5}.assess-options{gap:var(--space-3);flex-direction:column;display:flex}.assess-option{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast);display:flex}.assess-option:hover{background:rgba(99,102,241,.05);border-color:#6366f1}.assess-option.selected{background:rgba(99,102,241,.1);border-color:#6366f1}.assess-radio{border:2px solid var(--border);width:32px;height:32px;font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-tertiary);transition:all var(--duration-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.assess-option.selected .assess-radio{color:#fff;background:#6366f1;border-color:#6366f1}.assess-option-text{font-size:var(--text-base);color:var(--text-primary);line-height:1.5}.assess-back{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-tertiary);cursor:pointer;display:inline-block}.assess-result{padding:var(--space-4)}.assess-result-header{text-align:center;margin-bottom:var(--space-6)}.assess-result-icon{margin-bottom:var(--space-2);font-size:48px}.assess-result-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.assess-result-desc{font-size:var(--text-sm);color:var(--text-tertiary)}.assess-type-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6)}.assess-type-card.primary{border-color:#6366f1}.assess-type-badge{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-base);font-weight:var(--font-bold);margin-bottom:var(--space-3);display:inline-block}.assess-type-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3);line-height:1.6}.assess-type-advice{font-size:var(--text-sm);color:var(--text-primary);padding:var(--space-3);background:var(--bg-primary);border-radius:var(--radius-lg);line-height:1.6}.assess-chart{margin-bottom:var(--space-6)}.assess-chart-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-4)}.assess-bar-chart{gap:var(--space-3);flex-direction:column;display:flex}.assess-bar-row{align-items:center;gap:var(--space-3);display:flex}.assess-bar-label{width:100px;font-size:var(--text-xs);color:var(--text-secondary);text-align:right;flex-shrink:0}.assess-bar-wrap{background:var(--bg-tertiary);border-radius:12px;flex:1;height:24px;overflow:hidden}.assess-bar-fill{height:100%;transition:width .8s var(--ease-default);border-radius:12px;min-width:8px}.assess-bar-pct{width:36px;font-size:var(--text-xs);font-weight:var(--font-bold);text-align:left}.assess-careers{margin-bottom:var(--space-6)}.assess-career-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.assess-career-tag{padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text-primary);cursor:default;align-items:center;gap:2px;display:inline-flex}.assess-career-tag-clickable{cursor:pointer;transition:all var(--duration-fast)}.assess-career-tag-clickable:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px rgba(99,102,241,.25)}.assess-career-tag-clickable:hover .assess-match-pct{color:rgba(255,255,255,.85)!important}.assess-career-tag-clickable:hover .assess-riasec-mini-tag{color:#fff!important;background:rgba(255,255,255,.2)!important}.assess-actions{gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.assess-action-btn{padding:var(--space-3);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast);flex:1}.assess-action-btn:hover{background:var(--bg-hover)}.assess-action-btn.primary{color:#fff;background:#6366f1;border-color:#6366f1}.assess-action-btn.primary:hover{background:#4f46e5}.assess-share-tip{text-align:center;font-size:var(--text-xs);color:var(--text-tertiary)}@media (min-width:768px){.assess-start,.assess-question-page,.assess-result{max-width:600px;margin:0 auto}.assess-bar-label{width:120px}}.checkin-level-card{background:linear-gradient(135deg, var(--bg-secondary), var(--bg-tertiary));border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-5);margin:var(--space-4)}.level-header{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.level-icon{background:var(--bg-primary);border:2px solid var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:48px;display:flex}.level-info{flex:1}.level-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.level-num{font-size:var(--text-xs);color:var(--accent);font-weight:var(--font-semibold);margin-top:2px}.level-progress{margin-bottom:var(--space-4)}.points-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.points-current{color:var(--accent);font-weight:var(--font-bold);font-size:var(--text-base)}.points-next{color:var(--text-tertiary)}.progress-bar{background:var(--bg-primary);height:8px;margin-bottom:var(--space-1);border-radius:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;transition:width .6s var(--ease-default);border-radius:4px}.progress-hint{font-size:var(--text-xs);color:var(--text-tertiary)}.checkin-stats{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.checkin-stat{text-align:center;padding:var(--space-2);background:var(--bg-primary);border-radius:var(--radius-lg)}.stat-icon{margin-bottom:4px;font-size:20px}.stat-value{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.stat-label{color:var(--text-tertiary);margin-top:2px;font-size:10px}.checkin-action{padding:var(--space-4);text-align:center}.checkin-btn{width:100%;max-width:280px;padding:var(--space-4) var(--space-6);font-size:var(--text-lg);font-weight:var(--font-bold);background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);box-shadow:0 4px 15px var(--accent-subtle);border:none}.checkin-btn:hover:not(:disabled){box-shadow:0 6px 20px var(--accent-subtle);transform:translateY(-2px)}.checkin-btn:active:not(:disabled){transform:translateY(0)}.checkin-btn.checked{background:var(--bg-tertiary);color:var(--text-secondary);box-shadow:none;cursor:default;opacity:.7}.checkin-streak-preview{padding:var(--space-4)}.streak-grid{gap:var(--space-2);padding:var(--space-2) 0;display:flex;overflow-x:auto}.streak-item{width:72px;padding:var(--space-3) var(--space-2);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;transition:all var(--duration-fast) var(--ease-default);flex-shrink:0}.streak-item.achieved{border-color:var(--accent);background:var(--accent-subtle)}.streak-item.current{border-color:var(--accent);box-shadow:0 0 10px var(--accent-subtle)}.streak-day{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:4px}.streak-bonus{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--accent)}.streak-check{font-size:var(--text-xs);color:var(--accent);margin-top:2px}.checkin-calendar-section{padding:var(--space-4)}.calendar-nav{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.calendar-nav-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;width:36px;height:36px;font-size:var(--text-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.calendar-nav-btn:hover{background:var(--bg-tertiary)}.calendar-month{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-cell{aspect-ratio:1;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.calendar-cell.weekday{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-semibold)}.calendar-cell.empty{visibility:hidden}.calendar-cell.today{background:var(--bg-tertiary);font-weight:var(--font-bold)}.calendar-cell.checked{background:var(--accent-subtle);color:var(--accent);font-weight:var(--font-semibold)}.calendar-cell.checked.today{background:var(--accent-subtle)}.check-dot{color:var(--accent);font-size:10px;position:absolute;bottom:2px}.checkin-rewards{padding:var(--space-4)}.reward-list{gap:var(--space-2);flex-direction:column;display:flex}.reward-item{padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.reward-label{flex-direction:column;gap:2px;display:flex}.reward-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.reward-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.reward-points{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--accent);background:var(--accent-subtle);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}@media (min-width:768px){.checkin-level-card{max-width:600px;margin:var(--space-4) auto}.checkin-action,.checkin-streak-preview,.checkin-calendar-section,.checkin-rewards{max-width:600px;margin:0 auto}.streak-grid{justify-content:center}}.app-container:before{content:"";contain:strict;pointer-events:none;z-index:0;background:conic-gradient(transparent 0deg,rgba(245,158,11,.03) 60deg,transparent 120deg,rgba(59,130,246,.03) 180deg,transparent 240deg,rgba(16,185,129,.03) 300deg,transparent 360deg);width:200%;height:200%;animation:20s linear infinite auraRotate;position:fixed;top:-50%;left:-50%;overflow:hidden}@keyframes auraRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bottom-nav:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent) 25%, var(--accent-hover) 50%, var(--accent) 75%, transparent 100%);opacity:.6;background-size:200% 100%;height:2px;animation:3s ease-in-out infinite shimmerLine;position:absolute;top:0;left:0;right:0}@keyframes shimmerLine{0%{background-position:200% 0}to{background-position:-200% 0}}.recommend-card,.category-card,.job-card,.tip-card,.settings-item,.plan-section{transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);position:relative}.recommend-card:after,.category-card:after,.job-card:after{content:"";border-radius:inherit;background:conic-gradient(from var(--border-angle,0deg), transparent 0%, var(--accent) 8%, var(--accent-hover) 16%, transparent 24%);-webkit-mask-composite:xor;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--duration-normal) ease, visibility var(--duration-normal) ease;padding:1.5px;animation:4s linear infinite borderRotate;position:absolute;top:-1px;bottom:-1px;left:-1px;right:-1px;-webkit-mask-image:linear-gradient(#fff 0,#fff 0),linear-gradient(#fff 0,#fff 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.recommend-card:hover:after,.category-card:hover:after,.job-card:hover:after{opacity:1;visibility:visible}@property --border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes borderRotate{0%{--border-angle:0deg}to{--border-angle:360deg}}@supports not (background:conic-gradient(from 0deg, red, blue)){.recommend-card:after,.category-card:after,.job-card:after{display:none}}.recommend-card:hover,.job-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(245,158,11,.15)}.category-card:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 25px rgba(59,130,246,.15)}.btn-primary{transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 20px rgba(245,158,11,.4),0 0 40px rgba(245,158,11,.2)}.btn-primary:active{transform:translateY(0)scale(.98)}.disclaimer-title,.profile-name,.page-title{background:linear-gradient(90deg, var(--text-primary) 0%, var(--accent) 25%, var(--accent-hover) 50%, var(--accent) 75%, var(--text-primary) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;-ms-background-clip:text;background-clip:text;animation:4s linear infinite textShimmer}@keyframes textShimmer{0%{background-position:0%}to{background-position:200%}}.nav-item.active .nav-icon{-webkit-filter:drop-shadow(0 0 6px var(--accent));filter:drop-shadow(0 0 6px var(--accent));transition:filter var(--duration-normal) ease}.nav-item.active .nav-label{text-shadow:0 0 8px rgba(245,158,11,.5)}.stat-value{animation:3s ease-in-out infinite statPulse}@keyframes statPulse{0%,to{opacity:1}50%{opacity:.85}}.checkin-btn:not(.checked){animation:2s ease-in-out infinite breatheGlow}@keyframes breatheGlow{0%,to{box-shadow:0 0 5px rgba(245,158,11,.3),0 0 10px rgba(245,158,11,.1)}50%{box-shadow:0 0 15px rgba(245,158,11,.5),0 0 30px rgba(245,158,11,.2),0 0 45px rgba(245,158,11,.1)}}.chat-input:focus,.search-input:focus{box-shadow:0 0 0 2px var(--accent-subtle), 0 0 15px rgba(245,158,11,.15);border-color:var(--accent);transition:all var(--duration-normal) ease}.achievement-card.unlocked{position:relative;overflow:hidden}.achievement-card.unlocked:before{content:"";background:linear-gradient(45deg, var(--accent) 0%, #f97316 25%, var(--accent-hover) 50%, #f97316 75%, var(--accent) 100%);border-radius:inherit;z-index:-1;opacity:.5;background-size:300% 300%;animation:3s infinite achievementGlow;position:absolute;top:-2px;bottom:-2px;left:-2px;right:-2px}@keyframes achievementGlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.page{animation:pageEnter .4s var(--ease-out) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-container:after{content:"";contain:strict;pointer-events:none;z-index:0;background-image:radial-gradient(1px 1px at 10% 20%,rgba(245,158,11,.15) 0%,transparent 100%),radial-gradient(1px 1px at 30% 60%,rgba(59,130,246,.1) 0%,transparent 100%),radial-gradient(1px 1px at 50% 30%,rgba(16,185,129,.1) 0%,transparent 100%),radial-gradient(1px 1px at 70% 70%,rgba(245,158,11,.1) 0%,transparent 100%),radial-gradient(1px 1px at 90% 40%,rgba(59,130,246,.12) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 20% 80%,rgba(245,158,11,.08) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 60% 10%,rgba(16,185,129,.08) 0%,transparent 100%),radial-gradient(1px 1px at 80% 90%,rgba(59,130,246,.1) 0%,transparent 100%);width:100%;height:100%;animation:15s ease-in-out infinite particleFloat;position:fixed;top:0;left:0;overflow:hidden}@keyframes particleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.modal-overlay{animation:modalFadeIn .3s var(--ease-out) both}.modal-content{animation:modalSlideUp .35s var(--ease-bounce) both}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.disclaimer-card{animation:disclaimerEnter .6s var(--ease-out) both}@keyframes disclaimerEnter{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toast{animation:toastSlideIn .4s var(--ease-bounce) both}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}[data-theme=light] .recommend-card:hover,[data-theme=light] .job-card:hover,[data-theme=light] .category-card:hover{box-shadow:0 8px 25px rgba(37,99,235,.12)}[data-theme=light] .btn-primary:hover{box-shadow:0 0 20px rgba(37,99,235,.3),0 0 40px rgba(37,99,235,.15)}[data-theme=light] .checkin-btn:not(.checked){animation-name:breatheGlowLight}@keyframes breatheGlowLight{0%,to{box-shadow:0 0 5px rgba(37,99,235,.2),0 0 10px rgba(37,99,235,.08)}50%{box-shadow:0 0 15px rgba(37,99,235,.35),0 0 30px rgba(37,99,235,.15),0 0 45px rgba(37,99,235,.08)}}[data-theme=light] .app-container:before{background:conic-gradient(transparent 0deg,rgba(37,99,235,.04) 60deg,transparent 120deg,rgba(245,158,11,.03) 180deg,transparent 240deg,rgba(16,185,129,.03) 300deg,transparent 360deg)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
