@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+TC:wght@300;400;500;600;700;900&display=swap";:root{--primary: #6C5CE7;--primary-light: #A29BFE;--primary-dark: #5241C5;--primary-gradient: linear-gradient(135deg, #6C5CE7, #A29BFE);--accent: #00CEC9;--accent-light: #81ECEC;--accent-dark: #00B5AD;--accent-gradient: linear-gradient(135deg, #00CEC9, #81ECEC);--warm: #FDCB6E;--warm-light: #FFEAA7;--warm-dark: #E17055;--warm-gradient: linear-gradient(135deg, #FDCB6E, #F8A5C2);--success: #00B894;--error: #FF6B6B;--warning: #FFA502;--info: #74B9FF;--bg: #F8F9FD;--bg-card: #FFFFFF;--bg-elevated: #FFFFFF;--text-primary: #2D3436;--text-secondary: #636E72;--text-muted: #B2BEC3;--tab-inactive: #636E72;--border: #E8ECF1;--border-light: #F1F3F8;--shadow-sm: 0 2px 8px rgba(108, 92, 231, .06);--shadow-md: 0 4px 20px rgba(108, 92, 231, .1);--shadow-lg: 0 8px 40px rgba(108, 92, 231, .15);--shadow-glow: 0 0 20px rgba(108, 92, 231, .3);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.68, -.55, .265, 1.55);--tab-height: 68px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:0;height:0}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:var(--text-primary)}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}h4{font-size:1rem}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button{border:none;background:none;cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit;border:none;outline:none}.app-container{flex:1;display:flex;flex-direction:column;max-width:480px;margin:0 auto;width:100%;background:var(--bg);position:relative}.auth-screen{min-height:100dvh;padding:var(--space-lg);background:radial-gradient(circle at top right,rgba(0,206,201,.16),transparent 30%),radial-gradient(circle at top left,rgba(108,92,231,.2),transparent 34%),linear-gradient(180deg,#f7f8ff,#eef3ff)}.auth-card{background:#ffffffeb;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-lg);border-radius:20px;padding:var(--space-lg)}.auth-card-centered{min-height:calc(100dvh - (var(--space-lg) * 2));display:flex;flex-direction:column;justify-content:center;text-align:center}.auth-card h2{margin-bottom:8px}.auth-card p{color:var(--text-secondary)}.auth-brand-logo{display:block;width:min(210px,72%);height:auto;margin:0 0 var(--space-lg);object-fit:contain}.auth-card-centered .auth-brand-logo{margin-right:auto;margin-left:auto}.auth-card-top{display:flex;justify-content:space-between;gap:var(--space-md);align-items:flex-start;margin-bottom:var(--space-lg)}.auth-eyebrow{display:inline-flex;align-items:center;padding:6px 10px;border-radius:10px;margin-bottom:12px;background:#6c5ce714;color:var(--primary);font-size:.72rem;font-weight:700;line-height:1.4}.auth-line-avatar,.auth-icon,.auth-loader{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.auth-line-avatar{object-fit:cover;border:3px solid rgba(108,92,231,.16)}.auth-line-avatar-fallback,.auth-loader{background:var(--primary-gradient);color:#fff;font-size:1.35rem;font-weight:800}.auth-icon-success{background:#00b8941f;color:var(--success)}.auth-icon-error{background:#ff6b6b1f;color:var(--error)}.auth-profile-bar,.auth-summary-card{background:#f7f9fe;border:1px solid var(--border-light);border-radius:14px;padding:14px 16px;margin-bottom:var(--space-lg)}.auth-profile-bar{display:flex;justify-content:space-between;gap:var(--space-md);align-items:center;flex-wrap:nowrap}.auth-profile-summary{min-width:0;flex:1}.auth-profile-name{font-weight:700;font-size:1rem}.auth-profile-caption{font-size:.78rem;color:var(--text-secondary);margin-top:2px;line-height:1.4}.auth-status-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:7px 12px;border-radius:12px;background:#00b8941f;color:#0b8f71;font-size:.78rem;font-weight:700;white-space:nowrap}.auth-alert{border-radius:16px;padding:12px 14px;margin-bottom:var(--space-md);font-size:.82rem;font-weight:600}.auth-alert-error{background:#ff6b6b1a;color:#d64f4f}.auth-alert-success{background:#00b8941f;color:#0b8f71}.auth-grid{display:grid;grid-template-columns:minmax(0,150px) 96px;column-gap:12px;align-items:flex-start;justify-content:start}.auth-grid .input-group{width:100%;min-width:0;margin-bottom:0}.auth-grid-date{min-width:0}.auth-grid-date .input-field,.auth-grid-gender .select-field{display:block;width:100%;max-width:100%;box-sizing:border-box}.auth-grid-gender{width:96px}.auth-grid-gender .select-field{padding-left:12px;padding-right:28px;font-size:.8rem}.custom-date-field{position:relative;width:100%;min-height:50px;padding:12px 14px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:.82rem;display:flex;align-items:center;overflow:hidden}.custom-date-field.has-value{color:var(--text-primary)}.custom-date-field span{display:block;width:100%;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.native-date-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.profile-personal-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.5fr);gap:var(--space-md);margin-bottom:var(--space-md);align-items:start}.profile-personal-fields .input-group{min-width:0;margin-bottom:0}.profile-personal-fields .custom-date-field{min-width:0;font-size:.9rem}.profile-personal-fields .custom-date-field:focus-within{border-color:var(--primary-light);box-shadow:0 0 0 4px #6c5ce71a}.profile-personal-fields .native-date-input{min-width:0;max-width:100%;padding:0;font-size:16px}@media(max-width:480px){.profile-personal-fields{grid-template-columns:minmax(0,1fr)}}.input-required{color:var(--error);font-weight:700}.input-help{margin-top:8px;font-size:.75rem;line-height:1.5;color:var(--text-secondary)}.input-help-warning{padding:8px 10px;border-radius:10px;background:#fdcb6e2e;color:#8a5a00;font-weight:600;font-size:.72rem;line-height:1.2;white-space:nowrap}.input-help-error{color:var(--error);font-weight:700}.auth-submit-button{margin-top:28px}.auth-checklist{display:grid;gap:10px;margin-bottom:var(--space-lg)}.auth-check-item,.auth-summary-item{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-md);font-size:.88rem}.auth-check-item svg{color:var(--success);flex-shrink:0}.auth-check-item span,.auth-summary-item span{text-align:left}.auth-action-row{display:flex;justify-content:flex-start;margin-bottom:var(--space-md)}.page-content{flex:1;padding-bottom:calc(var(--tab-height) + var(--safe-bottom) + 8px);overflow-y:auto;-webkit-overflow-scrolling:touch}.page-header{position:sticky;top:0;z-index:100;background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:1px solid var(--border-light)}.page-header h1{font-size:1.5rem;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header-sub{font-size:.8rem;color:var(--text-muted);margin-top:2px}.section{padding:var(--space-md)}.section-title{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:space-between}.section-title .view-all{font-size:.8rem;color:var(--primary);font-weight:500}.home-job-shortcuts{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;padding:0 var(--space-md) var(--space-md)}.home-job-shortcut{display:flex;min-width:0;min-height:62px;align-items:center;gap:9px;padding:10px;color:var(--text-primary);text-align:left;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:var(--shadow-sm);cursor:pointer}.home-job-shortcut-primary{color:#245f86;background:#f1f8fc;border-color:#cfe5f1}.home-job-shortcut-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;color:#247eaa;background:#e3f2f8;border-radius:8px}.home-job-shortcut-copy{display:grid;min-width:0;gap:2px}.home-job-shortcut-copy strong,.home-job-shortcut-copy small{overflow:hidden;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.home-job-shortcut-copy strong{font-size:.8rem;line-height:1.35}.home-job-shortcut-copy small{color:var(--text-secondary);font-size:.66rem;line-height:1.4}.home-job-shortcut>svg{flex:0 0 auto;margin-left:auto}.home-job-shortcut:active{transform:scale(.98)}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--tab-height) + var(--safe-bottom));background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-light);display:flex;align-items:flex-start;padding-top:8px;padding-bottom:var(--safe-bottom);z-index:1000}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;color:var(--tab-inactive);transition:var(--transition-base);position:relative}.tab-item.active{color:var(--primary)}.tab-item.active:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:24px;height:3px;background:var(--primary-gradient);border-radius:var(--radius-full)}.tab-item svg{width:24px;height:24px;transition:var(--transition-spring)}.tab-item.active svg{transform:scale(1.1)}.tab-label{font-size:.65rem;font-weight:600;letter-spacing:.02em}.tab-badge{position:absolute;top:0;right:50%;transform:translate(14px);background:var(--error);color:#fff;font-size:.6rem;min-width:16px;height:16px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;padding:0 4px}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition-base)}.card:active{transform:scale(.98);box-shadow:var(--shadow-md)}.card-image{width:100%;height:180px;object-fit:cover}.card-body{padding:var(--space-md)}.card-title{font-size:.95rem;font-weight:600;margin-bottom:var(--space-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-desc{font-size:.8rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;background:#6c5ce714;color:var(--primary)}.tag-accent{background:#00cec914;color:var(--accent-dark)}.tag-warm{background:#fdcb6e26;color:var(--warm-dark)}.tag-success{background:#00b8941a;color:var(--success)}.tag-danger{background:#d630311a;color:#b4232a}.tag-muted{background:#636e721f;color:#57606a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 24px;border-radius:var(--radius-full);font-weight:600;font-size:.9rem;transition:var(--transition-base);cursor:pointer}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 15px #6c5ce74d}.btn-primary:active{transform:scale(.96);box-shadow:0 2px 8px #6c5ce766}.btn-outline{border:2px solid var(--primary);color:var(--primary);background:transparent}.btn-outline:active{background:#6c5ce70d}.btn-sm{padding:8px 16px;font-size:.8rem}.btn-block{width:100%}.file-upload-control{width:100%;min-width:0;justify-content:flex-start;text-align:left;overflow-wrap:anywhere}.skill-photo-upload{width:100%;min-width:0;white-space:normal;height:auto;border-radius:8px}.skill-photo-upload span{min-width:0;overflow-wrap:anywhere}.skill-photo-upload svg{flex-shrink:0}.expert-image-button{display:block;width:100%;min-width:0;padding:0;border:0;background:transparent;cursor:zoom-in}.notification-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.notification-filters .filter-bar{padding:0;margin:0}.notification-month{display:flex;align-items:center;gap:8px;min-width:0}.notification-month input{width:170px;min-width:0}.notification-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.truncate-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-group{margin-bottom:var(--space-md)}.input-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.input-field{width:100%;min-width:0;padding:12px 16px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg);color:var(--text-primary);transition:var(--transition-base);font-size:.9rem}.input-field:focus{border-color:var(--primary-light);box-shadow:0 0 0 4px #6c5ce71a}.input-field.is-invalid{border-color:var(--error);box-shadow:0 0 0 4px #ff6b6b1a}.select-field{width:100%;min-width:0;padding:12px 14px;min-height:50px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg);color:var(--text-primary);font-size:.85rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23636E72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;overflow:hidden}.textarea-field{width:100%;min-width:0;padding:12px 16px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg);color:var(--text-primary);transition:var(--transition-base);font-size:.9rem;line-height:1.65;resize:vertical}.textarea-field:focus{border-color:var(--primary-light);box-shadow:0 0 0 4px #6c5ce71a}.btn:disabled,.filter-chip:disabled{opacity:.55;cursor:not-allowed}.job-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.job-image-thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--border-light)}.job-image-button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--radius-md);background:transparent;cursor:zoom-in;overflow:hidden}.job-image-button:focus-visible{outline:3px solid var(--primary-light);outline-offset:3px}.job-image-button .job-image-thumb{display:block;transition:transform .18s ease}.job-image-button:active .job-image-thumb{transform:scale(.98)}.job-image-zoom{position:absolute;right:8px;bottom:8px;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#fff;background:#1a2226b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.image-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#fff;background:#0a0f12f5;padding:max(14px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom))}.image-lightbox-toolbar{display:flex;min-height:48px;align-items:center;justify-content:space-between;padding-left:8px;font-size:.85rem;font-weight:700}.image-lightbox-close,.image-lightbox-nav{display:grid;width:44px;height:44px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;background:#ffffff1f;cursor:pointer}.image-lightbox-close:focus-visible,.image-lightbox-nav:focus-visible{outline:3px solid rgba(255,255,255,.72);outline-offset:2px}.image-lightbox-stage{position:relative;display:flex;min-height:0;align-items:center;justify-content:center;touch-action:pan-y;-webkit-user-select:none;user-select:none}.image-lightbox-image{display:block;max-width:calc(100vw - 32px);max-height:calc(100vh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;border-radius:4px}.image-lightbox-nav{position:absolute;top:50%;z-index:2;transform:translateY(-50%);background:#0a0f12a3}.image-lightbox-nav-previous{left:4px}.image-lightbox-nav-next{right:4px}.image-lightbox-hint{min-height:30px;text-align:center;font-size:.75rem;color:#ffffffb8}.filter-bar{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{flex-shrink:0;padding:8px 16px;border-radius:var(--radius-full);font-size:.8rem;font-weight:500;background:var(--bg-card);color:var(--text-secondary);border:1.5px solid var(--border);cursor:pointer;transition:var(--transition-base);white-space:nowrap}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 10px #6c5ce74d}.search-bar{display:flex;align-items:center;gap:var(--space-sm);padding:10px 16px;background:var(--bg);border-radius:var(--radius-full);border:2px solid var(--border);margin:var(--space-md);transition:var(--transition-base)}.search-bar:focus-within{border-color:var(--primary-light);box-shadow:0 0 0 4px #6c5ce714}.search-bar svg{color:var(--text-muted);width:20px;height:20px;flex-shrink:0}.search-bar input{flex:1;background:transparent;color:var(--text-primary);font-size:.9rem}.search-bar input::placeholder{color:var(--text-muted)}.banner-swiper{border-radius:var(--radius-lg);overflow:hidden;margin:var(--space-md)}.banner-swiper .swiper-slide{border-radius:var(--radius-lg);overflow:hidden}.banner-swiper .swiper-pagination-bullet{background:#fff;opacity:.5}.banner-swiper .swiper-pagination-bullet-active{background:#fff;opacity:1;width:20px;border-radius:var(--radius-full)}.project-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-md);transition:var(--transition-base);border:1px solid var(--border-light)}.project-card:active{transform:scale(.98);box-shadow:var(--shadow-md)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-sm)}.project-card-title{font-size:.95rem;font-weight:700;flex:1;margin-right:var(--space-sm)}.project-card-budget{font-size:1rem;font-weight:800;color:var(--primary);white-space:nowrap}.project-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.project-card-info{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.project-card-info svg{width:14px;height:14px}.project-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-sm)}.project-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-light)}.expert-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-md);transition:var(--transition-base);border:1px solid var(--border-light)}.expert-card:active{transform:scale(.98)}.expert-card-top{display:flex;gap:var(--space-md)}.expert-avatar{width:60px;height:60px;border-radius:var(--radius-lg);object-fit:cover;flex-shrink:0;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem}.expert-info{flex:1;min-width:0}.expert-name{font-size:1rem;font-weight:700;margin-bottom:2px}.expert-title{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--space-xs)}.expert-rating{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--warm-dark);font-weight:600}.expert-rating .stars{color:var(--warm)}.expert-stats{display:flex;gap:var(--space-lg);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-light)}.expert-stat{text-align:center}.expert-stat-value{font-size:1.1rem;font-weight:800;color:var(--text-primary)}.expert-stat-label{font-size:.7rem;color:var(--text-muted)}.expert-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-sm)}.featured-expert-item{width:184px}.featured-expert-card{width:100%;min-height:198px;height:100%;padding:var(--space-md);display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;font:inherit;cursor:pointer;transition:var(--transition-base)}.featured-expert-card:active{transform:scale(.98)}.featured-expert-avatar{width:56px;height:56px;margin:0 auto 8px;font-size:1.2rem}.featured-expert-name{width:100%;min-height:22px;font-size:.9rem;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.featured-expert-meta{min-height:36px;margin:4px 0 6px;justify-content:center;flex-wrap:wrap;line-height:1.35}.featured-expert-muted{color:var(--text-muted);font-weight:400}.featured-expert-tags{min-height:48px;margin-top:0;justify-content:center;align-content:flex-start}.h-scroll{display:flex;gap:var(--space-md);overflow-x:auto;padding:0 var(--space-md) var(--space-sm);-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.h-scroll::-webkit-scrollbar{display:none}.h-scroll-item{flex-shrink:0;scroll-snap-align:start}.task-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;align-items:center;gap:var(--space-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-md);border:1px solid var(--border-light);transition:var(--transition-base)}.task-card:active{transform:scale(.98)}.task-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.5rem}.task-icon-primary{background:#6c5ce71a;color:var(--primary)}.task-icon-accent{background:#00cec91a;color:var(--accent)}.task-icon-warm{background:#fdcb6e26;color:var(--warm-dark)}.task-icon-success{background:#00b8941a;color:var(--success)}.task-content{flex:1;min-width:0}.task-title{font-size:.9rem;font-weight:600}.task-desc{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.task-reward{font-size:.75rem;color:var(--primary);font-weight:700;margin-top:4px}.task-action{flex-shrink:0}.task-progress-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-full);background:#6c5ce714;color:var(--primary);font-size:.82rem;font-weight:800}.task-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.task-dashboard-card{display:grid;gap:6px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-sm)}.task-dashboard-card span{font-size:.74rem;color:var(--text-secondary)}.task-dashboard-card strong{color:var(--text-primary);font-size:1.35rem;line-height:1.15}.task-dashboard-card small{color:var(--text-muted);font-size:.72rem;line-height:1.55}.task-status-hero,.task-callout,.task-roadmap-card,.task-real-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.task-status-hero{display:flex;gap:var(--space-md);padding:var(--space-lg)}.task-status-hero__icon{width:52px;height:52px;border-radius:18px;background:#6c5ce71a;color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.task-status-hero h2{font-size:1.1rem;margin-bottom:6px}.task-status-hero p{color:var(--text-secondary);font-size:.84rem;line-height:1.75}.task-callout{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#fdcb6e1f;border-color:#fdcb6e59;color:#8a5a00}.task-callout strong{display:inline-block;margin-right:4px}.task-callout span{font-size:.82rem;line-height:1.65}.task-real-list{display:grid;gap:var(--space-md)}.task-real-card{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch;padding:16px}.task-real-card__icon{width:48px;height:48px;border-radius:14px;background:#6c5ce71a;color:var(--primary);display:flex;align-items:center;justify-content:center}.task-real-card__icon.is-done{background:#00b8941f;color:var(--success)}.task-real-card__icon.is-pending{background:#ffa5021f;color:var(--warning)}.task-real-card__body{min-width:0}.task-real-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.task-real-card__title{font-size:.96rem;font-weight:800;color:var(--text-primary)}.task-real-card__meta,.task-real-card__footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.task-real-card__meta{margin-top:4px;color:var(--text-muted);font-size:.72rem}.task-real-status{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:800}.task-real-status.is-done{background:#00b8941f;color:var(--success)}.task-real-status.is-pending{background:#ffa50229;color:#9a6400}.task-real-status.is-open{background:#6c5ce71a;color:var(--primary)}.task-real-card__description,.task-real-progress{color:var(--text-secondary);font-size:.8rem;line-height:1.65}.task-real-progress{display:flex;gap:8px;align-items:flex-start}.task-real-card__head h3{font-size:.95rem}.task-real-card__body p{color:var(--text-secondary);font-size:.8rem;line-height:1.65}.task-real-card__badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700}.task-real-card__badge.is-done{background:#00b8941f;color:var(--success)}.task-real-card__badge.is-pending{background:#ffa50229;color:#9a6400}.task-real-card__badge.is-open{background:#6c5ce71a;color:var(--primary)}.task-roadmap-card{padding:16px;display:grid;gap:12px}.task-roadmap-item{display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary);font-size:.84rem;line-height:1.65}.checkin-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-sm);margin-bottom:var(--space-lg)}.checkin-day{aspect-ratio:1;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;transition:var(--transition-base);border:2px solid var(--border-light);color:var(--text-secondary)}.checkin-day.checked{background:var(--primary-gradient);color:#fff;border-color:transparent;box-shadow:0 2px 8px #6c5ce74d}.checkin-day.today{border-color:var(--primary);color:var(--primary)}.checkin-day-num{font-size:1rem;font-weight:800}.wheel-container{display:flex;flex-direction:column;align-items:center;padding:var(--space-lg)}.wheel-wrapper{position:relative;width:280px;height:280px;margin-bottom:var(--space-lg)}.wheel{width:100%;height:100%;border-radius:50%;background:conic-gradient(from 0deg,#ff6b6b 0deg 45deg,#fdcb6e 45deg 90deg,#00cec9 90deg 135deg,#6c5ce7 135deg 180deg,#a29bfe 180deg 225deg,#81ecec 225deg 270deg,#ffeaa7 270deg 315deg,#ff9ff3 315deg 360deg);transition:transform 4s cubic-bezier(.17,.67,.12,.99);box-shadow:var(--shadow-lg),inset 0 0 30px #0000001a;position:relative}.wheel:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:#fff;border-radius:50%;box-shadow:var(--shadow-md)}.wheel-pointer{position:absolute;top:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:24px solid var(--primary);z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.member-header{background:var(--primary-gradient);padding:var(--space-xl) var(--space-md);color:#fff;position:relative;overflow:hidden}.member-header:before{content:"";position:absolute;top:-50%;right:-30%;width:200px;height:200px;background:#ffffff14;border-radius:50%}.member-header:after{content:"";position:absolute;bottom:-40%;left:-20%;width:160px;height:160px;background:#ffffff0d;border-radius:50%}.member-avatar-wrapper{display:flex;align-items:center;gap:var(--space-md);position:relative;z-index:1}.member-avatar{width:64px;height:64px;border-radius:var(--radius-xl);background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:3px solid rgba(255,255,255,.4)}.member-avatar-image{object-fit:cover}.member-name{font-size:1.3rem;font-weight:700}.member-level{font-size:.8rem;opacity:.8;margin-top:2px}.member-points-bar{display:flex;gap:var(--space-md);margin-top:var(--space-lg);position:relative;z-index:1}.member-point-item{flex:1;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.member-point-value{font-size:1.5rem;font-weight:800}.member-point-label{font-size:.7rem;opacity:.8;margin-top:2px}.member-summary-grid{display:grid;gap:var(--space-md)}.member-summary-card{display:grid;gap:6px;background:#fffffff5;border:1px solid rgba(108,92,231,.12);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-sm)}.member-summary-title{font-size:.75rem;color:var(--text-secondary);letter-spacing:.04em}.member-summary-value{min-height:22px;display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--text-primary)}.member-summary-helper{font-size:.75rem;line-height:1.6;color:var(--text-muted)}.asset-history-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-md)}.asset-history-tabs{display:flex;flex-wrap:wrap;gap:8px}.asset-month-field{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.78rem;font-weight:700}.asset-month-field input{min-height:36px;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:0 10px;background:#fff;color:var(--text-primary)}.expert-skill-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.expert-skill-tags span{display:inline-flex;align-items:center;min-height:24px;border-radius:var(--radius-full);background:#6c5ce714;color:var(--primary);padding:2px 9px;font-size:.72rem;font-weight:700}.menu-list{padding:var(--space-md)}.menu-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-card);border-radius:var(--radius-lg);margin-bottom:var(--space-sm);box-shadow:var(--shadow-sm);transition:var(--transition-base);border:1px solid var(--border-light);cursor:pointer}.menu-item:active{transform:scale(.98);background:var(--bg)}.menu-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.menu-text{flex:1;font-weight:500;font-size:.9rem}.menu-arrow{color:var(--text-muted)}.menu-arrow svg{width:16px;height:16px}.blog-card{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-md);border:1px solid var(--border-light);transition:var(--transition-base)}.blog-card:active{transform:scale(.98)}.article-content img{max-width:100%;height:auto;display:block;border-radius:var(--radius-lg);margin:14px 0}.article-content figure{margin:18px 0}.article-content p,.article-content li{color:var(--text-primary);line-height:1.9}.article-content h3,.article-content h4,.article-content h5{margin-top:22px;margin-bottom:10px}.blog-thumb{width:90px;height:90px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;background:var(--border-light)}.blog-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.blog-title{font-size:.9rem;font-weight:600;margin-bottom:var(--space-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-excerpt{font-size:.75rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-meta{font-size:.7rem;color:var(--text-muted);margin-top:var(--space-xs)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.quick-action{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md);text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:1px solid var(--border-light)}.quick-action:active{transform:scale(.96)}.quick-action-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-sm);font-size:1.3rem}.quick-action-text{font-size:.8rem;font-weight:600;color:var(--text-primary)}.quick-action-sub{font-size:.7rem;color:var(--text-secondary);margin-top:2px}@media(min-width:768px){.member-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.progress-bar{width:100%;height:6px;background:var(--border-light);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--primary-gradient);transition:width 1s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-fadeInUp{animation:fadeInUp .5s ease forwards}.animate-fadeIn{animation:fadeIn .3s ease forwards}.animate-pulse{animation:pulse 2s ease infinite}.animate-float{animation:float 3s ease-in-out infinite}.delay-1{animation-delay:.1s;opacity:0}.delay-2{animation-delay:.2s;opacity:0}.delay-3{animation-delay:.3s;opacity:0}.delay-4{animation-delay:.4s;opacity:0}.delay-5{animation-delay:.5s;opacity:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.empty-state-text{font-size:.9rem;color:var(--text-muted);font-weight:500}.divider{height:8px;background:var(--bg);margin:0 calc(-1 * var(--space-md))}.price{color:var(--primary);font-weight:800}.text-gradient{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.avatar-sm{width:32px;height:32px;border-radius:50%;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700}.avatar-sm-image{object-fit:cover}.auth-summary-card{display:grid;gap:10px}.auth-terms-grid{display:grid;gap:var(--space-md);margin-bottom:var(--space-lg)}.auth-terms-box{max-height:220px;overflow:auto;padding:14px;border-radius:var(--radius-md);border:1px solid var(--border);background:#f7f9fe}.auth-terms-box h3{font-size:.95rem;margin-bottom:10px}.auth-terms-content{color:var(--text-secondary);font-size:.82rem;line-height:1.8}.auth-terms-content p,.auth-terms-content li{margin-bottom:8px}.auth-terms-content ul,.auth-terms-content ol{padding-left:20px}.auth-terms-loading{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.82rem}.legal-page-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:12px 14px;margin-bottom:var(--space-md);border-radius:var(--radius-md);background:var(--bg);color:var(--text-secondary);font-size:.82rem}.legal-page-meta strong{color:var(--text-primary);font-size:.86rem;text-align:right}.legal-page-content{color:var(--text-secondary);font-size:.9rem;line-height:1.85;overflow-wrap:anywhere}.legal-page-content h1,.legal-page-content h2,.legal-page-content h3,.legal-page-content h4{margin:1.2em 0 .5em;color:var(--text-primary)}.legal-page-content p,.legal-page-content li{margin-bottom:.85em}.legal-page-content ul,.legal-page-content ol{padding-left:1.3em;margin-bottom:1em}.legal-page-content img,.legal-page-content table{max-width:100%}.auth-consent{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:var(--space-md);border-radius:var(--radius-md);background:#6c5ce714;color:var(--text-primary);font-size:.84rem;font-weight:700;line-height:1.5}.auth-consent input{width:18px;height:18px;margin-top:2px;flex-shrink:0}.skill-file-selected-list{display:grid;gap:8px;margin:0 0 var(--space-md)}.skill-file-selected-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);font-size:.82rem;color:var(--text-primary)}.skill-file-selected-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-selected-item small{flex-shrink:0;color:var(--text-secondary)}.skill-file-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;margin-bottom:14px}.skill-file-preview,.skill-file-edit-preview{display:block;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}.skill-file-preview{width:96px;height:96px}.skill-file-edit-preview{width:100%;height:180px;margin-bottom:var(--space-md)}.skill-file-preview img,.skill-file-edit-preview img{width:100%;height:100%;object-fit:cover;display:block}.skill-file-body{min-width:0}.skill-file-body strong,.skill-file-body span{display:block}.skill-file-body span{margin-top:4px;color:var(--text-secondary);font-size:.78rem;overflow-wrap:anywhere}.skill-file-actions{display:flex;flex-wrap:wrap;gap:8px}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:375px){:root{--space-md: 12px;--space-lg: 20px}h1{font-size:1.5rem}h2{font-size:1.2rem}.auth-status-badge{padding:6px 10px;font-size:.72rem}.auth-grid{grid-template-columns:minmax(0,142px) 88px;column-gap:10px}.auth-grid-gender{width:88px}.task-real-card{grid-template-columns:1fr}.task-real-card>.btn{grid-column:1;justify-self:start}.skill-file-card{grid-template-columns:82px minmax(0,1fr)}.skill-file-preview{width:82px;height:82px}}.page-back-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.required-notice{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 14px;padding:10px 12px;border-radius:var(--radius-md);background:#ff6b6b12;border:1px solid rgba(255,107,107,.22);color:var(--text-secondary);font-size:.82rem;line-height:1.6}.btn-danger{background:var(--error);color:#fff;box-shadow:0 4px 14px #ff6b6b47}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.confirm-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#1118277a;animation:fadeIn .15s ease}.confirm-dialog{width:min(100%,360px);padding:22px 20px 18px;border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-lg)}.confirm-dialog-title{font-size:1.05rem;font-weight:800;color:var(--text-primary);line-height:1.5;overflow-wrap:anywhere}.confirm-dialog-message{margin-top:10px;color:var(--text-secondary);font-size:.9rem;line-height:1.7}.confirm-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.confirm-dialog-actions .btn{padding:11px 12px}.line-friend-label{display:inline-flex;align-items:center;gap:6px}.field-help-button{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--primary);background:#6c5ce714}.line-friend-help p{margin:0 0 10px}.line-friend-help-link{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--primary)}.line-friend-help-url{margin-top:6px;font-size:.72rem;color:var(--text-muted);overflow-wrap:anywhere}.star-rating{display:grid;gap:6px}.star-rating-stars{display:flex;gap:6px}.star-rating-button{display:inline-grid;place-items:center;padding:2px;border-radius:8px}.star-rating-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.star-on{color:#f5b301}.star-off{color:#c7ccd6}.star-rating-caption{font-size:.8rem;color:var(--text-muted)}.review-tag-list{display:flex;flex-wrap:wrap;gap:8px}.toggle-switch{position:relative;display:inline-flex;flex-shrink:0;cursor:pointer}.toggle-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:inherit}.toggle-switch-track{position:relative;width:48px;height:28px;border-radius:999px;background:#c7ccd6;transition:background .2s ease}.toggle-switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.toggle-switch input:checked+.toggle-switch-track{background:#2f6b4f}.toggle-switch input:checked+.toggle-switch-track .toggle-switch-thumb{transform:translate(20px)}.toggle-switch input:focus-visible+.toggle-switch-track{outline:2px solid var(--primary);outline-offset:2px}.toggle-switch.is-disabled{cursor:not-allowed;opacity:.55}.count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e5484d;color:#fff;font-size:.75rem;font-weight:800;line-height:1}.dot-badge{display:inline-block;width:10px;height:10px;border-radius:50%;background:#e5484d}.home-status-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:0 var(--space-md) var(--space-md)}.home-status-card{display:flex;min-width:0;min-height:56px;align-items:center;gap:9px;padding:10px;border:1px solid var(--border-light);border-radius:14px;background:var(--bg-card);color:var(--text-primary);text-align:left}.home-status-card-wide{grid-column:1 / -1}.home-status-card-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;color:#247eaa;background:#eaf5fb}.home-status-card-copy{display:grid;min-width:0;flex:1;gap:2px}.home-status-card-copy strong{font-size:.88rem}.home-status-card-copy small{color:var(--text-muted);font-size:.72rem}.job-card-budget{margin-top:4px;font-size:1.05rem;font-weight:800;color:var(--text-primary)}.job-card-meta{margin-top:2px;font-size:.76rem;color:var(--text-muted)}.job-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.job-card-actions-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.job-card-actions .btn,.job-card-actions-wide .btn{padding-left:8px;padding-right:8px}.list-filter-tag{display:inline-flex;align-items:center;gap:6px;margin:0 var(--space-md) 8px;padding:6px 10px;border-radius:999px;background:#6c5ce71a;color:var(--primary);font-size:.8rem;font-weight:700}.list-filter-tag button{display:inline-grid;place-items:center;color:inherit}.review-summary-card{display:grid;gap:8px;padding:12px;border-radius:12px;background:#f5b30112;border:1px solid rgba(245,179,1,.22)}.auth-step-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;margin-top:6px}.auth-step-actions .btn{padding-left:10px;padding-right:10px}.auth-alert-warning{background:#fdcb6e2e;color:#9a6a00}.auth-alert-info{background:#6c5ce714;color:var(--primary-dark, #5a4bd1)}.job-card-actions-wide .btn{gap:4px;font-size:.76rem;white-space:nowrap}.service-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 10px}.service-category-button{display:grid;grid-template-rows:56px 36px;justify-items:center;align-content:start;gap:8px;min-width:0;padding:0;color:var(--category-ink);text-align:center;border-radius:8px;touch-action:manipulation}.service-category-tone-timber{--category-ink: #98642d;--category-surface: #fff2dc;--category-detail: #f5d8a5;--category-border: #efdcb8}.service-category-tone-steel{--category-ink: #3f6389;--category-surface: #eaf1fa;--category-detail: #cbdcef;--category-border: #d6e2ef}.service-category-tone-water{--category-ink: #237c75;--category-surface: #e4f5f0;--category-detail: #b4dfd4;--category-border: #cde8e0}.service-category-tone-finish{--category-ink: #b15a4f;--category-surface: #fff0eb;--category-detail: #f3cdc3;--category-border: #efd8d0}.service-category-tone-signal{--category-ink: #7160a6;--category-surface: #f0ecfa;--category-detail: #d9ceef;--category-border: #e0d8ef}.service-category-icon{display:grid;width:56px;height:56px;place-items:center;overflow:hidden;color:var(--category-ink);background:var(--category-surface);border:1px solid var(--category-border);border-radius:8px;box-shadow:0 2px 4px #2730350a;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.service-category-icon svg{flex:none;fill:var(--category-detail)}.service-category-label{min-width:0;max-width:100%;color:var(--text-primary);font-size:12px;font-weight:600;line-height:18px;letter-spacing:0;overflow-wrap:anywhere}.service-category-button:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.service-category-button:active .service-category-icon{transform:scale(.96);background:var(--category-detail);box-shadow:none}@media(hover:hover){.service-category-button:hover .service-category-icon{background:var(--category-detail);box-shadow:0 3px 8px #2730351a}}@media(max-width:359px){.service-category-grid{gap:12px 8px}.service-category-button{grid-template-rows:48px 36px}.service-category-icon{width:48px;height:48px}.service-category-icon svg{width:27px;height:27px}}@media(prefers-reduced-motion:reduce){.service-category-icon{transition:none}}.job-selection-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:52px;padding:12px 14px;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-primary);font-size:16px;line-height:1.5;text-align:left;cursor:pointer}.job-selection-trigger span{min-width:0;overflow-wrap:anywhere}.job-selection-trigger svg,.job-selection-row svg{flex-shrink:0}.job-selection-trigger:disabled{opacity:.55;cursor:not-allowed}.job-selection-trigger:focus-visible,.job-selection-row:focus-visible,.job-selection-icon:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.job-selection-region{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.job-selection-summary{overflow-wrap:anywhere}.job-selection-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:100%;height:70vh;height:min(70dvh,calc(100dvh - 24px));height:min(70dvh,var(--job-selection-height, 70dvh));max-height:70dvh;margin:0;padding:0;border:0;border-radius:16px 16px 0 0;background:#fff;color:var(--text-primary);overflow:hidden;box-shadow:0 -8px 40px #00000029}.job-selection-sheet[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.job-selection-sheet::backdrop{background:#191e2366}.job-selection-header{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border)}.job-selection-header h2{flex:1;min-width:0;margin:0;font-size:18px;line-height:1.5;overflow-wrap:anywhere}.job-selection-icon{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer}.job-selection-search{display:flex;gap:10px;align-items:center;min-height:50px;margin:12px 16px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-secondary)}.job-selection-search:focus-within{border-color:var(--primary)}.job-selection-search>svg{flex-shrink:0}.job-selection-search input{min-width:0;width:100%;height:48px;padding:0;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:16px}.job-selection-search input::-webkit-search-cancel-button{display:none}.job-selection-list{min-height:0;padding:0 16px max(16px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.job-selection-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:12px 10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text-primary);font-size:16px;line-height:1.5;text-align:left;cursor:pointer}.job-selection-row>span{min-width:0;overflow-wrap:anywhere}.job-selection-row[aria-pressed=true]{background:#f2f0ff;color:var(--primary-dark)}.job-selection-row[aria-pressed=true] svg{color:var(--primary)}.job-selection-row-copy{display:flex;flex-direction:column;gap:2px}.job-selection-row small{font-size:13px;line-height:1.5;color:var(--text-secondary)}.job-selection-parent{font-weight:600}.job-selection-empty{padding:24px 10px;font-size:16px;line-height:1.6;color:var(--text-secondary);text-align:center}@media(hover:hover){.job-selection-row:hover,.job-selection-icon:hover{background:#f5f5f8}}@media(min-width:768px){.job-selection-sheet{inset:0;width:min(560px,calc(100% - 40px));max-width:560px;margin:auto;border-radius:12px}}.job-selection-sheet{bottom:var(--job-selection-bottom, 0px)}.official-line-entry{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#e9f5ee;border-bottom:1px solid #c9e2d3}.official-line-entry a{display:flex;align-items:center;gap:8px;flex:1;color:#176946;font-size:14px;line-height:1.6;text-decoration:none}.official-line-entry a svg{flex:none}.official-line-entry button{display:grid;place-items:center;flex:none;width:36px;height:36px;border:0;background:transparent;color:#356c52;cursor:pointer}.subscription-page .page-header .btn{margin-bottom:12px}.subscription-stack{display:grid;gap:16px;padding-top:0}.subscription-panel,.subscription-plan-card{display:grid;gap:14px;padding:18px;overflow:hidden;background:#fff;border:1px solid #e3e7ed;border-radius:8px;box-shadow:0 8px 24px #232b350f}.subscription-panel h2,.subscription-plan-card h2{margin:2px 0 0;color:var(--text-primary);font-size:1.12rem;line-height:1.4}.subscription-panel p,.subscription-plan-card p{margin:0;color:var(--text-secondary);line-height:1.7}.subscription-plan-description{white-space:pre-line}.subscription-panel-heading,.subscription-plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.subscription-panel-heading>strong,.subscription-plan-heading>strong{flex:none;color:#087f8c;font-size:1.08rem}.subscription-kicker{display:block;color:#67717d;font-size:.76rem;font-weight:700;text-transform:uppercase}.subscription-loading{display:flex;align-items:center;justify-content:center;gap:9px;min-height:120px;color:var(--text-secondary)}.subscription-empty,.subscription-success{justify-items:center;min-height:260px;align-content:center;text-align:center}.subscription-panel-icon,.subscription-success-icon{display:grid;width:52px;height:52px;place-items:center;color:#fff;background:#087f8c;border-radius:50%}.subscription-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.subscription-metrics>div{display:grid;min-width:0;gap:5px;padding:12px;color:#087f8c;background:#f3f8f8;border:1px solid #d9ebed;border-radius:6px}.subscription-metrics span{color:var(--text-secondary);font-size:.78rem}.subscription-metrics strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:.88rem;line-height:1.45}.subscription-payment-summary{display:flex;align-items:center;gap:12px;padding:13px;color:#087f8c;background:#f5f7fa;border-radius:6px}.subscription-payment-summary>div{display:grid;min-width:0;gap:3px}.subscription-payment-summary strong{color:var(--text-primary)}.subscription-payment-summary span,.subscription-switch-row span{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.subscription-switch-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;cursor:pointer}.subscription-switch-row>div{display:grid;gap:3px}.subscription-switch-row.is-disabled{cursor:not-allowed;opacity:.65}.subscription-switch-row input{position:absolute;width:1px;height:1px;opacity:0}.subscription-switch{position:relative;flex:none;width:46px;height:26px;background:#bac2cc;border-radius:13px;transition:background .16s ease}.subscription-switch:after{position:absolute;top:3px;left:3px;width:20px;height:20px;content:"";background:#fff;border-radius:50%;box-shadow:0 2px 5px #161f2738;transition:transform .16s ease}.subscription-switch-row input:checked+.subscription-switch{background:#087f8c}.subscription-switch-row input:checked+.subscription-switch:after{transform:translate(20px)}.subscription-confirm{display:grid;gap:10px;padding:14px;background:#fff7e8;border:1px solid #f0d497;border-radius:6px}.subscription-confirm>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.subscription-history-list{display:grid}.subscription-history-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e8ebef}.subscription-history-list article:last-child{border-bottom:0}.subscription-history-list article>div{display:grid;min-width:0;gap:4px}.subscription-history-list article>div:last-child{flex:none;justify-items:end}.subscription-history-list span{color:var(--text-secondary);font-size:.78rem;overflow-wrap:anywhere}.subscription-pagination{display:flex;align-items:center;justify-content:center;gap:14px}.icon-action{display:inline-grid;width:38px;height:38px;padding:0;place-items:center;color:var(--text-primary);background:#fff;border:1px solid #dbe0e6;border-radius:6px;cursor:pointer}.icon-action:disabled{cursor:not-allowed;opacity:.45}.subscription-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.subscription-steps span{display:grid;justify-items:center;gap:5px;min-width:0;color:#8b949e;font-size:.7rem;text-align:center}.subscription-steps b{display:grid;width:26px;height:26px;place-items:center;color:#68727d;background:#eef1f4;border-radius:50%}.subscription-steps span.is-active{color:#087f8c;font-weight:700}.subscription-steps span.is-active b{color:#fff;background:#087f8c}.subscription-plan-grid{display:grid;gap:14px}.subscription-feature-list{display:grid;gap:8px}.subscription-feature-list span{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);line-height:1.55}.subscription-feature-list svg{flex:none;margin-top:3px;color:#087f8c}.subscription-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.subscription-option-grid button{display:grid;min-width:0;gap:6px;padding:13px;color:var(--text-primary);text-align:left;background:#fff;border:1px solid #dbe0e6;border-radius:6px;cursor:pointer}.subscription-option-grid button.is-selected{color:#087f8c;background:#f3f8f8;border-color:#087f8c}.subscription-option-grid button span{color:var(--text-secondary);font-size:.76rem;line-height:1.45}.subscription-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.subscription-methods label{display:grid;min-height:46px;padding:8px;place-items:center;color:var(--text-secondary);font-size:.78rem;text-align:center;background:#fff;border:1px solid #dbe0e6;border-radius:6px;cursor:pointer}.subscription-methods label.is-selected{color:#087f8c;font-weight:700;background:#f3f8f8;border-color:#087f8c}.subscription-methods input{position:absolute;opacity:0}.subscription-order-review dl{display:grid;gap:0;margin:0}.subscription-order-review dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e8ebef}.subscription-order-review dt{color:var(--text-secondary)}.subscription-order-review dd{margin:0;font-weight:700;text-align:right}.subscription-result-panel>div,.subscription-result-panel>strong{overflow-wrap:anywhere}.subscription-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.subscription-payment-code{display:grid;gap:7px;padding:12px;background:#f5f7fa;border-radius:6px}.subscription-payment-code span{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}@media(max-width:430px){.subscription-panel,.subscription-plan-card{padding:15px}.subscription-actions,.subscription-metrics,.subscription-option-grid,.subscription-methods{grid-template-columns:1fr}.subscription-panel-heading,.subscription-plan-heading,.subscription-history-list article{align-items:stretch}.subscription-plan-heading{flex-direction:column}.subscription-history-list article>div:last-child{justify-items:end}}.featured-service-section{padding-top:20px;padding-bottom:20px;background:#f4f8f5}.featured-service-heading{align-items:flex-end;gap:12px;margin-bottom:14px}.featured-service-eyebrow{display:block;margin-bottom:3px;color:#47715d;font-size:.72rem;font-weight:700}.featured-service-heading h2{margin:0;color:#243b30;font-size:1.18rem;line-height:1.35}.featured-service-controls{display:flex;flex:none;gap:6px}.featured-service-controls button{display:grid;width:31px;height:31px;place-items:center;color:#35634c;background:#fff;border:1px solid #cdded2;border-radius:50%}.featured-service-controls button:focus-visible,.featured-service-tile:focus-visible,.featured-service-contact-bar a:focus-visible{outline:3px solid #77b893;outline-offset:2px}.featured-service-status{padding:14px 16px;color:var(--text-secondary);font-size:.85rem;line-height:1.6}.featured-service-scroll{display:flex;gap:12px;overflow-x:auto;margin-right:-16px;padding:0 16px 10px 0;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}.featured-service-scroll::-webkit-scrollbar{display:none}.featured-service-tile{display:flex;flex:0 0 min(70vw,270px);min-width:0;flex-direction:column;overflow:hidden;text-align:left;background:#fff;border:1px solid #dce8de;border-radius:8px;scroll-snap-align:start;box-shadow:0 4px 12px #203a2b0f}.featured-service-tile-image{width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#e9eee9}.featured-service-tile-image img{display:block;width:100%;height:100%;object-fit:cover}.featured-service-tile-body{display:flex;min-height:168px;flex:1;flex-direction:column;padding:12px 14px 13px}.featured-service-tile-region{display:inline-flex;align-items:center;gap:2px;color:#47715d;font-size:.68rem;font-weight:700}.featured-service-tile h3{margin:5px 0;color:#253930;font-size:.9rem;line-height:1.45}.featured-service-tile p{display:-webkit-box;overflow:hidden;color:#64736b;font-size:.72rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.featured-service-tile-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:auto;padding-top:10px;color:#2e6648;border-top:1px solid #eaf0ea}.featured-service-tile-bottom strong{font-size:.81rem;line-height:1.4}.featured-service-tile-bottom svg{flex:none}.featured-service-detail-page{padding-bottom:88px}.featured-service-detail-page .page-header .btn{margin-bottom:10px}.featured-service-detail-image{width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#e9eee9}.featured-service-detail-image img{display:block;width:100%;height:100%;object-fit:cover}.featured-service-image-caption{padding:7px 16px 0;color:#77827c;font-size:.67rem}.featured-service-detail-body{padding:20px 16px 0}.featured-service-detail-body>h2{margin:2px 0 10px;color:#243b30;font-size:1.32rem;line-height:1.4}.featured-service-detail-summary{margin-bottom:20px;color:#52655a;font-size:.86rem;line-height:1.7}.featured-service-detail-facts{display:grid;border-top:1px solid #dce6dd;border-bottom:1px solid #dce6dd}.featured-service-detail-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:11px 0}.featured-service-detail-facts>div+div{border-top:1px solid #e8eee8}.featured-service-detail-facts span{color:#687970;font-size:.79rem}.featured-service-detail-facts strong{display:inline-flex;align-items:center;gap:3px;color:#245740;font-size:.91rem;text-align:right}.featured-service-detail-section{padding:20px 0;border-bottom:1px solid #e7eee8}.featured-service-detail-section h2{margin:0 0 11px;color:#2b4135;font-size:.98rem}.featured-service-detail-section ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.featured-service-detail-section li{display:flex;align-items:flex-start;gap:8px;color:#52655a;font-size:.84rem;line-height:1.5}.featured-service-detail-section li svg{flex:none;margin-top:3px;color:#3c8b60}.featured-service-detail-note{margin:18px 0;color:#65766c;font-size:.79rem;line-height:1.65}.featured-service-contact-bar{position:fixed;z-index:900;bottom:calc(var(--tab-height) + var(--safe-bottom));left:50%;width:100%;max-width:480px;padding:10px 16px;background:#fffffff5;border-top:1px solid #dfe8e0;transform:translate(-50%)}.featured-service-contact-bar a{display:flex;min-height:47px;align-items:center;justify-content:center;gap:8px;color:#fff;background:#245740;border-radius:6px;font-size:.91rem;font-weight:700}
