:root{--bg: #FFFFFF;--bg-block: #F5F5F5;--text-primary: #000000;--text-body: #000000;--text-secondary: #000000;--border: #000000;--btn-bg: #000000;--btn-text: #FFFFFF;--font: 'Inter',system-ui,-apple-system, 'Segoe UI',Roboto,Arial,sans-serif;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 32px;--fs-h1: clamp(28px,4vw,42px);--fs-h2: clamp(24px,4vw,32px);--gap: 24px;--container: 1200px;--radius: 18px;--card-bg: #ffffff;--card-text: #111111;--card-muted: #444444;--soft-bg: #f5f5f5;--soft-border: rgba(0,0,0,.16);--card-border: rgba(127,127,127,.22);--control-border: rgba(127,127,127,.28);} .theme-dark{--bg: #121212;--bg-block: #1E1E1E;--text-primary: #FFFFFF;--text-body: #E0E0E0;--text-secondary: #FFFFFF;--border: #FFFFFF;--btn-bg: #FFFFFF;--btn-text: #000000;} *{margin: 0;padding: 0;box-sizing: border-box;} body{font-family: var(--font);color: var(--text-body);background: var(--bg);line-height: 1.6;transition: background 0.2s,color 0.2s;} button,input,select,textarea{font-family: inherit;} .eng-calendar-root{max-width: var(--container);margin: 0 auto;padding: 0 16px;} .eng-tabs{display: flex;justify-content: center;gap: 12px;margin-bottom: 32px;flex-wrap: wrap;border-bottom: 1px solid var(--border);padding-top: 8px;} .eng-tab{background: none;border: none;padding: 12px 16px;color: var(--text-secondary);font-size: var(--fs-md);font-weight: 600;cursor: pointer;border-bottom: 2px solid transparent;text-decoration: none;transition: color 0.2s,border-color 0.2s;} .eng-tab:hover{color: var(--text-primary);} .eng-tab.active{border-bottom-color: var(--text-primary);} .age-badge{display: inline-block;padding: 0 6px;border: 1px solid currentColor;color: inherit;font-size: var(--fs-xs);font-weight: 600;letter-spacing: 1px;line-height: 1.4;margin-left: 4px;vertical-align: middle;} .eng-filters{display: flex;justify-content: center;align-items: center;gap: 16px;flex-wrap: wrap;} .eng-filters select,.eng-filters input[type="text"]{padding: 10px 12px;border: 1px solid var(--border);font-size: var(--fs-md);border-radius: var(--radius);outline: none;transition: border-color 0.2s;} .eng-filters select:focus,.eng-filters input[type="text"]:focus{border-color: var(--text-primary);} .eng-filter-btn{padding: 10px 16px;border: 1px solid var(--border);background: var(--bg);color: var(--text-primary);font-size: var(--fs-sm);font-weight: 600;cursor: pointer;border-radius: var(--radius);transition: border-color 0.2s,background 0.2s;} .eng-filter-btn:hover{border-color: var(--text-primary);} .eng-filter-btn.active{background: var(--btn-bg);color: var(--btn-text);border-color: var(--btn-bg);} .eng-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(300px,1fr));gap: var(--gap);} .eng-card{display: flex;flex-direction: column;gap: 10px;transition: transform 0.2s,border-color 0.2s;cursor: pointer;word-wrap: break-word;animation: eng-fade-in 0.3s ease;min-height: 180px;align-items: center;justify-content: center;text-align: center;padding: 28px 20px;} .eng-card:hover{transform: scale(1.02);border-color: var(--text-primary);} .eng-title{font-size: var(--fs-xl);font-weight: 700;color: var(--text-primary);margin: 0;word-wrap: break-word;} .eng-desc{font-size: var(--fs-sm);word-wrap: break-word;-webkit-box-orient: vertical;} .eng-resource-link{color: var(--text-primary);border-bottom: 1px solid var(--text-primary);display: inline-block;padding-top: 6px;margin-top: 14px;font-size: var(--fs-sm);font-weight: 700;} .eng-divider{border: none;border-top: 1px solid var(--border);margin: 48px 0;} .eng-btn{display: inline-block;background: var(--btn-bg);color: var(--btn-text);padding: 14px 24px;border: none;font-size: var(--fs-md);font-weight: 600;cursor: pointer;transition: background 0.2s;} .eng-empty{text-align: center;padding: 64px 16px;color: var(--text-secondary);font-size: var(--fs-md);border: 1px dashed var(--border);} .modal-overlay{position: fixed;inset: 0;background: rgba(0,0,0,0.6);z-index: 1000;display: none;align-items: flex-start;justify-content: center;padding: 24px 14px;overflow-y: auto;overscroll-behavior: contain;} .modal{position: relative;margin: 0 auto;scrollbar-gutter: stable;box-shadow: 0 18px 60px rgba(0,0,0,.18);width: min(820px,100%);max-width: 820px;max-height: calc(100vh - 32px);padding: 34px;border: 1px solid var(--border);border-radius: 24px !important;overflow-x: hidden !important;background: var(--card-bg,#fff);color: var(--card-text,#111);} .modal-close{position: absolute;top: 12px;right: 16px;background: none;border: none;font-size: 28px;cursor: pointer;color: var(--text-secondary);line-height: 1;} .modal-close:hover{color: var(--text-primary);} .modal-header{display: flex;align-items: center;padding-bottom: 16px;border-bottom: 2px solid var(--text-primary);gap: 16px;padding: 0 42px 22px 0;margin-bottom: 0;} .theme-toggle{width: 44px;height: 44px;background: none;border: 1px solid var(--border);border-radius: var(--radius);color: var(--text-primary);font: 22px/1 "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji",sans-serif;cursor: pointer;} .footer-theme{display: flex;justify-content: center;margin: 0 0 24px;} footer{background: var(--bg-block);color: var(--text-secondary);text-align: center;padding: 40px 0;border-top: 1px solid var(--border);margin-top: 48px;} .footer-mission{max-width: 560px;margin: 0 auto 24px;padding: 0 10px;} .footer-mission-text{font-size: var(--fs-md);line-height: 1.6;color: var(--text-body);margin-bottom: 8px;font-style: italic;} .footer-mission-contact{font-size: var(--fs-sm);color: var(--text-secondary);} .footer-contact-link{color: var(--text-primary);text-decoration: none;font-weight: 600;border-bottom: 1px solid var(--border);transition: all 0.2s;} .footer-contact-link:hover{border-bottom-color: var(--text-primary);} .footer-links,.footer-donations{display: flex;justify-content: center;gap: 14px;margin-bottom: 18px;flex-wrap: wrap;} .footer-donations{margin-bottom: 24px;} .footer-btn{padding: 8px 24px;color: var(--text-primary);text-decoration: none;font-weight: 600;font-size: var(--fs-sm);border: 1px solid var(--border);border-radius: var(--radius);transition: all 0.2s;} .footer-btn:hover{background: var(--btn-bg);color: var(--btn-text);border-color: var(--btn-bg);} .footer-btn--donate{background: var(--bg);} .footer-copy{font-size: var(--fs-xs);opacity: 0.5;} @keyframes eng-fade-in{from{opacity: 0;transform: translateY(8px);} to{opacity: 1;transform: translateY(0);}} @media (max-width: 768px){.eng-grid{gap: 16px;grid-template-columns: 1fr;} .eng-title{font-size: var(--fs-lg);}} .map-intro{text-align: center;margin-bottom: 32px;} .map-title{font-size: var(--fs-3xl);font-weight: 700;color: var(--text-primary);margin-bottom: 8px;} .map-subtitle{font-size: var(--fs-md);color: var(--text-body);max-width: 640px;margin: 0 auto;} .map-layout{display: grid;grid-template-columns: 1.6fr 1fr;gap: 32px;align-items: start;} .map-canvas{border: 1px solid var(--border);padding: 16px;background: var(--bg);} .eng-map-svg{width: 100%;height: auto;display: block;} .eng-district{fill: var(--bg-block);stroke: var(--border);stroke-width: 1.5;cursor: pointer;transition: fill 0.2s;} .eng-district--ready{pointer-events: auto;} .eng-district:hover,.eng-district.hover{fill: #D9D9D9;} .eng-district.active{fill: var(--btn-bg);stroke-width: 2.5;} .eng-marker{fill: var(--btn-bg);stroke: var(--bg);stroke-width: 2;cursor: pointer;} .eng-district-label{font-size: 13px;font-weight: 600;fill: var(--text-primary);text-anchor: middle;pointer-events: none;user-select: none;} .map-reset{width: 100%;margin-bottom: 20px;text-align: center;} .map-toggle{display: flex;gap: 8px;margin-bottom: 20px;flex-wrap: wrap;} .map-toggle .eng-filter-btn{flex: 1;min-width: 130px;} .map-explain{border: 1px solid var(--border);background: var(--bg-block);padding: 14px;margin-bottom: 20px;} .map-explain-title{font-size: var(--fs-sm);font-weight: 700;color: var(--text-primary);margin-bottom: 6px;} .map-explain p{font-size: var(--fs-sm);line-height: 1.55;color: var(--text-body);margin-bottom: 6px;} .map-explain p:last-child{margin-bottom: 0;} .map-panel-head{display: flex;align-items: baseline;justify-content: space-between;gap: 8px;margin-bottom: 16px;padding-bottom: 12px;border-bottom: 2px solid var(--text-primary);flex-wrap: wrap;} .map-count{font-size: var(--fs-sm);color: var(--text-secondary);} .map-uni-list{display: flex;flex-direction: column;gap: 16px;} .map-uni-name{font-size: var(--fs-md);font-weight: 700;color: var(--text-primary);margin-bottom: 2px;} .map-uni-city{font-size: var(--fs-sm);color: var(--text-secondary);margin-bottom: 6px;} .map-uni-kind{font-size: var(--fs-xs);text-transform: uppercase;letter-spacing: 0.5px;} .map-uni-profile{display: inline-block;font-size: var(--fs-xs);font-weight: 600;letter-spacing: 0.5px;text-transform: uppercase;border: 1px solid var(--border);padding: 2px 8px;color: var(--text-primary);margin-bottom: 8px;} .map-uni-focus{font-size: var(--fs-sm);color: var(--text-body);margin-bottom: 10px;} .map-detail-list{border-top: 1px solid var(--border);} .map-detail{display: grid;grid-template-columns: 130px 1fr;gap: 10px;padding: 8px 0;border-bottom: 1px dashed var(--border);} .map-detail:last-child{border-bottom: none;} .map-detail-label{font-size: var(--fs-xs);font-weight: 600;color: var(--text-secondary);text-transform: uppercase;letter-spacing: 0.3px;} .map-detail-value{font-size: var(--fs-sm);line-height: 1.45;color: var(--text-body);} .map-detail-value.ok{font-weight: 600;} .map-uni-site{color: var(--text-primary);text-decoration: none;border-bottom: 1px solid var(--border);overflow-wrap: anywhere;word-break: break-word;} .map-uni-site:hover{border-bottom-color: transparent;} .map-placeholder{text-align: center;padding: 32px 8px;border: 1px dashed var(--border);} .map-placeholder-title{font-size: var(--fs-lg);font-weight: 700;margin-bottom: 8px;} .map-placeholder-text{font-size: var(--fs-sm);} .calc-section{margin-top: 16px;} .calc-heading{font-size: var(--fs-2xl);font-weight: 700;color: var(--text-primary);text-align: center;margin-bottom: 8px;} .calc-subtitle{font-size: var(--fs-md);color: var(--text-body);text-align: center;margin-bottom: 24px;} .calc-layout{max-width: 640px;margin: 0 auto;border: 1px solid var(--border);padding: 24px;background: var(--bg);} .calc-controls{display: flex;flex-direction: column;gap: 20px;} .calc-field{display: flex;flex-direction: column;gap: 8px;overflow: visible;} .calc-field label{font-size: var(--fs-sm);font-weight: 600;text-transform: uppercase;letter-spacing: 0.5px;color: var(--text-secondary);display: block;width: 100%;min-height: 1.35em;line-height: 1.4;overflow: visible;white-space: normal;word-break: normal;overflow-wrap: anywhere;} .calc-field select:focus{border-color: var(--text-primary);} .calc-result{margin-top: 8px;padding: 20px;background: var(--btn-bg);text-align: center;} .calc-result-label{font-size: var(--fs-xs);font-weight: 600;text-transform: uppercase;letter-spacing: 1px;color: var(--btn-text);opacity: 0.8;margin-bottom: 8px;} .calc-result-value{font-size: var(--fs-3xl);font-weight: 700;color: var(--btn-text);line-height: 1.1;margin-bottom: 8px;} .calc-result-hint{font-size: var(--fs-sm);line-height: 1.5;opacity: 0.9;overflow-wrap: anywhere;word-break: break-word;} .calc-result{min-width: 0;} .calc-layout,.calc-controls{min-width: 0;} .benefits-section{margin-top: 16px;} .benefits-heading{font-size: var(--fs-2xl);font-weight: 700;color: var(--text-primary);text-align: center;margin-bottom: 24px;} .benefits-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(300px,1fr));gap: var(--gap);} .benefit-card{border: 1px solid var(--border);padding: 20px;} .benefit-title{font-size: var(--fs-lg);font-weight: 700;margin-bottom: 10px;} .benefit-card p{font-size: var(--fs-sm);line-height: 1.55;} .benefits-note{margin-top: 24px;padding: 14px;border: 1px dashed var(--border);font-size: var(--fs-sm);line-height: 1.5;color: var(--text-body);} .course-link{margin: 12px 0 0;} .course-link a{font-size: var(--fs-sm);font-weight: 600;color: var(--text-primary);text-decoration: none;border-bottom: 1px solid var(--border);overflow-wrap: anywhere;word-break: break-word;} .course-link a:hover{border-bottom-color: transparent;} @media (max-width: 900px){.map-layout{grid-template-columns: 1fr;}} body.modal-open{overflow: hidden;} .page-header{text-align: center;} .page-header h1{font-size: var(--fs-h1);line-height: 1.15;margin-bottom: 8px;color: var(--text-primary);} .page-header p{color: var(--text-secondary);font-size: var(--fs-md);} .eng-card:hover{transform: translateY(-3px);} .eng-card:focus-visible{outline: 3px solid var(--text-primary);outline-offset: 3px;} .eng-card .eng-title{font-size: var(--fs-xl);line-height: 1.3;overflow-wrap: anywhere;} .modal-overlay.active{display: flex;} .modal-content,.modal-content *{max-width: 100%;} .modal-header h2{font-size: var(--fs-h2);line-height: 1.2;overflow-wrap: anywhere;color: var(--text-primary);} .modal-category{margin-bottom: 5px;font-size: var(--fs-xs);text-transform: uppercase;letter-spacing: .7px;color: var(--text-secondary);} .profession-section{padding: 24px 0;border-bottom: 1px solid var(--border);min-width: 0;overflow-wrap: anywhere;} .profession-section:last-child{border-bottom: 0;} .profession-section h3{font-size: var(--fs-lg);line-height: 1.3;margin-bottom: 12px;color: var(--text-primary);} .profession-section p{margin: 0 0 9px;} .profession-intro p{font-size: var(--fs-md);line-height: 1.65;} .info-grid,.salary-grid{display: grid;} .info-item,.salary-grid > div{min-width: 0;} .info-item span,.salary-grid span,.career-row small,.region-row span,.day-row span{display: block;font-size: var(--fs-xs);color: var(--text-secondary);margin-bottom: 4px;} .info-item strong,.salary-grid strong{display: block;font-size: var(--fs-md);} .sub-label{margin-top: 16px !important;font-size: var(--fs-xs);text-transform: uppercase;letter-spacing: .5px;font-weight: 700;} .tag-list{display: flex;flex-wrap: wrap;gap: 7px;} .tag-list span{padding: 6px 9px;font-size: var(--fs-sm);} .region-row,.day-row{gap: 14px;} .career-number{display: grid;place-items: center;font-size: var(--fs-xs);} .career-row b{text-align: right;} .pros-cons{display: grid;grid-template-columns: 1fr 1fr;gap: 24px;} .pros-cons > div + div{border-left: 1px solid var(--border);padding-left: 24px;} @media (max-width: 680px){.modal-overlay{padding: 10px;} .pros-cons{grid-template-columns: 1fr;gap: 0;} .pros-cons > div + div{border-left: 0;border-top: 1px solid var(--border);padding: 24px 0 0;margin-top: 24px;}} .site-page{max-width: 1400px;padding: 28px 20px 50px;} .site-page > .page-header{margin-bottom: 22px;} .site-page .eng-filters{margin: 20px 0 18px;} .site-page .eng-grid{align-items: stretch;} .site-page .eng-card{border: 1px solid var(--card-border);box-shadow: 0 5px 20px rgba(0,0,0,.05);overflow-wrap: anywhere;} .site-page .eng-card--link{text-decoration: none;} .resource-filter-row{display: flex;gap: 12px;align-items: stretch;flex-wrap: wrap;} .resource-buttons{display: flex;gap: 8px;flex-wrap: wrap;flex: 1 1 600px;} .resource-search{flex: 1 1 260px;padding: 12px 14px;border: 1px solid var(--control-border);font: inherit;outline: none;} .resource-search:focus{border-color: currentColor;} .resource-card{align-items: flex-start;text-align: left;min-height: 190px;padding: 22px;} .resource-card .eng-title{margin-top: 8px;margin-bottom: 10px;} .resource-card .eng-desc{flex: 1;} .resource-type{font-size: var(--fs-xs);text-transform: uppercase;letter-spacing: .06em;opacity: .58;font-weight: 700;} @media(max-width:800px){.site-page{padding-left: 14px;padding-right: 14px;} .resource-filter-row{flex-direction: column;} .resource-buttons,.resource-search{flex: none;} .resource-search{padding-top: 10px;padding-bottom: 10px;} .resource-buttons .eng-filter-btn{padding: 8px 14px;} .resource-search{width: 100%;}} .site-page .resource-buttons > *,.site-page .eng-filters > *{border-radius: 12px;} .site-page .eng-card:hover,.site-page .benefit-card:hover{transform: translateY(-2px);} body.theme-dark{--card-bg: #242424;--card-text: #f5f5f5;--card-muted: #d0d0d0;--soft-bg: #303030;--soft-border: rgba(255,255,255,.22);} .site-page .eng-card,.site-page .benefit-card,.site-page .resource-card,.site-page .map-panel,.site-page .map-canvas,.site-page .calc-layout,.site-page .calc-controls,.site-page .eng-grid > article{color: var(--card-text);} .site-page .eng-card .eng-title,.site-page .eng-card .eng-desc,.site-page .benefit-card .benefit-title,.site-page .benefit-card p,.site-page .resource-card .eng-title,.site-page .resource-card .eng-desc,.site-page .resource-card .resource-type,.site-page .map-panel,.site-page .map-panel p,.site-page .map-panel h1,.site-page .map-panel h2,.site-page .map-panel h3,.site-page .map-panel h4,.site-page .map-panel span,.site-page .map-panel strong,.site-page .calc-layout,.site-page .calc-layout label{color: var(--card-text);} .profession-section p,.profession-section strong,.profession-section small,.region-row span,.region-row strong,.day-row span,.day-row strong{word-break: break-word;} .info-item,.salary-grid > div,.region-row,.day-row,.career-row{border: 1px solid var(--soft-border);background: var(--soft-bg);} body.theme-dark .site-page input,body.theme-dark .site-page select,body.theme-dark .site-page textarea,body.theme-dark .site-page .resource-search{background: var(--card-bg);color: var(--card-text);border-color: var(--soft-border);} body.theme-dark .site-page input::placeholder,body.theme-dark .site-page .resource-search::placeholder{color: #bdbdbd;} body.theme-dark .site-page .map-uni-card,body.theme-dark .site-page .map-explain,body.theme-dark .site-page .map-placeholder,body.theme-dark .site-page .info-item,body.theme-dark .site-page .salary-grid > div,body.theme-dark .site-page .region-row,body.theme-dark .site-page .day-row,body.theme-dark .site-page .career-row{background: #303030;color: #f5f5f5;} .modal .info-grid,.modal .salary-grid{gap: 14px;grid-template-columns: repeat(3,minmax(0,1fr));} .modal .info-item,.modal .salary-grid > div{min-height: 82px;padding: 16px;border-radius: 18px !important;line-height: 1.45;} .modal .region-list,.modal .day-list,.modal .career-list{display: grid;gap: 10px;width: 100%;} .modal .tag-list span{background: var(--soft-bg);border: 1px solid var(--soft-border);border-radius: 14px !important;line-height: 1.35;} @media (max-width: 680px){.modal{width: 100%;max-width: none;max-height: calc(100vh - 20px);padding: 24px 18px;border-radius: 22px !important;}} .site-page .map-layout{border-radius: 22px !important;} .site-page .map-canvas{border-radius: 22px !important;overflow: hidden;} .site-page .map-sidebar{border-radius: 22px !important;} .site-page .map-panel{width: 100%;border: 1px solid var(--border);border-radius: 22px !important;padding: 20px;} .site-page .map-toggle{width: 100%;} .site-page .map-toggle .eng-filter-btn{border-radius: 18px !important;} .site-page .map-uni-list{width: 100%;} .site-page .map-uni-card{width: 100%;border: 1px solid var(--border);border-radius: 18px !important;padding: 16px;background: var(--bg-block);} .site-page .map-uni-profile{border-radius: 12px !important;overflow: visible !important;} .site-page .map-explain,.site-page .map-placeholder{width: 100%;border-radius: 18px !important;} .site-page .map-reset{border-radius: 18px !important;} .site-page,.site-page *{min-width: 0;} .modal .region-row,.modal .day-row{display: grid;grid-template-columns: minmax(125px,.42fr) minmax(0,1fr);align-items: center;min-height: 52px;padding: 12px 16px;border-radius: 16px !important;} .modal .region-row span,.modal .day-row span{margin: 0;font-size: var(--fs-sm);line-height: 1.35;white-space: normal;} .modal .region-row strong,.modal .day-row strong{font-size: var(--fs-sm);line-height: 1.45;text-align: left;white-space: normal;} .modal .career-row{display: grid;grid-template-columns: 42px minmax(0,1fr) minmax(120px,auto);align-items: center;min-height: 66px;padding: 10px 14px;gap: 12px;border-radius: 16px !important;} .modal .career-number{width: 34px;height: 34px;border-radius: 50% !important;border: 1px solid var(--soft-border) !important;background: var(--card-bg);color: var(--card-text);line-height: 1;flex: 0 0 auto;} .modal .career-row > div{min-width: 0;overflow: visible;} .modal .career-row strong{display: block;line-height: 1.35;} .modal .career-row small{margin-top: 4px;line-height: 1.3;white-space: normal;} .modal .career-row b{line-height: 1.35;white-space: normal;} .calc-field select{line-height: 1.35;} @media (max-width: 680px){.modal .info-grid,.modal .salary-grid{grid-template-columns: 1fr;} .modal .region-row,.modal .day-row{grid-template-columns: minmax(105px,.45fr) minmax(0,1fr);gap: 10px;} .modal .career-row{grid-template-columns: 40px minmax(0,1fr);} .modal .career-row b{grid-column: 2;text-align: left;margin-top: 2px;}} .site-page .eng-card,.site-page .benefit-card,.site-page .map-panel,.site-page .map-canvas,.site-page .map-sidebar,.site-page .calc-layout,.site-page .calc-controls,.site-page .calc-result{border-color: var(--card-border);border-radius: 18px;background: var(--card-bg,var(--bg));} .site-page .map-sidebar,.site-page .map-panel,.site-page .map-canvas{box-shadow: 0 5px 20px rgba(0,0,0,.05);} .site-page .map-uni-card,.site-page .map-explain,.site-page .benefits-note{border-color: var(--card-border);border-radius: 12px;} .site-page .eng-filter-btn,.site-page select,.site-page input,.site-page textarea,.site-page .eng-btn,.site-page .map-reset{border-color: var(--control-border);border-radius: 12px;} .site-page .eng-filter-btn.active{border-color: var(--btn-bg);} .site-page .calc-layout{box-shadow: 0 5px 20px rgba(0,0,0,.05);} .site-page .calc-field select,.site-page .calc-field input{min-height: 46px;padding: 12px 14px;border: 1px solid var(--control-border);background: var(--card-bg,var(--bg));font: inherit;outline: none;} .site-page .calc-field input:focus,.site-page .calc-field select:focus{border-color: var(--text-primary);} .site-page .resource-search{border-color: var(--control-border);} .site-page .calc-result{background: #000000 !important;color: #ffffff !important;border: 1px solid var(--card-border) !important;} .site-page .calc-result-label,.site-page .calc-result-value,.site-page .calc-result-hint{color: #ffffff !important;} .site-page .eng-card,.site-page .eng-card:hover,.modal,.modal .info-item,.modal .salary-grid > div,.modal .region-row,.modal .day-row,.modal .career-row,.modal .career-number,.modal .tag-list span{border-color: var(--card-border) !important;} html.theme-dark .calendar-page,html.theme-dark .calendar-page .calendar-head h1,html.theme-dark .calendar-page .calendar-head p,html.theme-dark .calendar-page .calendar-summary,html.theme-dark .calendar-page .calendar-control label,html.theme-dark .calendar-page .holiday-card,html.theme-dark .calendar-page .holiday-title,html.theme-dark .calendar-page .holiday-note,html.theme-dark .calendar-page .holiday-date,html.theme-dark .calendar-page .prof-chip{color: var(--card-text);} html.theme-dark .calendar-page .holiday-card{background: var(--card-bg);border-color: var(--soft-border);} html.theme-dark .calendar-page .calendar-control input,html.theme-dark .calendar-page .calendar-control select{background: var(--card-bg);color: var(--card-text);border-color: var(--soft-border);} html.theme-dark .calendar-page .month-btn,html.theme-dark .calendar-page .calendar-reset{color: var(--card-text);border-color: var(--soft-border);} html.theme-dark .calendar-page .prof-chip{background: var(--soft-bg);} .profession-tools{display: flex;align-items: end;flex-wrap: wrap;gap: 12px;margin: 20px 0 12px;} .profession-search-wrap{flex: 1 1 280px;} .profession-sort-wrap{flex: 0 1 230px;} .profession-sort-wrap label{display: block;margin-bottom: 6px;font-size: var(--fs-sm);color: var(--text-body);} .profession-search-wrap input,.profession-sort-wrap select{width: 100%;height: 48px;padding: 0 14px;border: 1px solid var(--control-border);border-radius: 12px;background: var(--card-bg);font: inherit;outline: none;color: var(--text-primary);} .profession-search-wrap input:focus-visible,.profession-sort-wrap select:focus-visible{outline: 2px solid rgba(127,127,127,.5);outline-offset: 1px;} .eng-subfilters{display: flex;flex-wrap: wrap;gap: 8px;margin: 0 0 18px;} .eng-subfilters[hidden]{display: none;} .profession-empty{grid-column: 1 / -1;padding: 28px;border: 1px solid var(--card-border);border-radius: 16px;text-align: center;color: var(--text-body);} .sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border: 0;} @media (max-width: 768px){.profession-tools{align-items: stretch;} .profession-sort-wrap{flex: 1 1 100%;}} :root{--accent:#bdbdbd;--container:1240px;--gap:16px;} html.theme-dark,body.theme-dark{--accent:#bdbdbd;--bg:#101010;--bg-block:#191919;--text-primary:#f5f5f5;--text-body:#dedede;--text-secondary:#bcbcbc;--border:#505050;--btn-bg:#bdbdbd;--btn-text:#101010;--card-bg:#202020;--card-text:#f5f5f5;--card-muted:#c0c0c0;--soft-bg:#292929;--soft-border:#525252;--card-border:#474747;--control-border:#626262;} .site-page{max-width:var(--container);margin:0 auto;padding:0 24px 56px;} .site-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0 14px;border-bottom:1px solid var(--card-border);} .site-brand{color:var(--text-primary);text-decoration:none;font-weight:700;letter-spacing:.07em;font-size:14px;} .site-brand span{color:var(--text-secondary);font-weight:400;font-size:11px;} .theme-toggle-top{flex-shrink:0;border-radius:50%;width:42px;height:42px;font-size:21px;} .site-page .eng-tabs{justify-content:flex-start;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;margin:0 0 38px;padding:8px 0 4px;border-bottom:1px solid var(--card-border);} .site-page .eng-tab{white-space:nowrap;font-size:13px;padding:10px 13px;flex-shrink:0;} .site-page .page-header{text-align:left;margin:20px 0 34px;max-width:880px;} .hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--accent);} .site-page .page-header h1{font-size:clamp(38px,6vw,72px);line-height:1.07;letter-spacing:-.055em;margin:16px 0 18px;max-width:820px;} .site-page .page-header p{font-size:clamp(15px,1.6vw,19px);max-width:660px;color:var(--text-secondary);line-height:1.65;} .hero-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;} .hero-stats span{display:flex;align-items:baseline;gap:8px;border:1px solid var(--card-border);border-radius:12px;padding:12px 17px;font-size:13px;color:var(--text-secondary);background:var(--card-bg);} .hero-stats strong{font-size:25px;color:var(--text-primary);line-height:1;} .site-page .profession-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,240px);gap:12px;align-items:end;margin:20px 0 34px;} .site-page .profession-search-wrap,.site-page .profession-sort-wrap{flex:none;min-width:0;} .site-page #professionSearch{height:54px;font-size:15px;} .catalog-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:34px 0 15px;} .catalog-section-heading h2{font-size:20px;letter-spacing:-.025em;} .catalog-section-heading span{color:var(--text-secondary);font-size:12px;} .site-page .eng-filters{justify-content:flex-start;gap:8px;} .site-page .eng-filter-btn{padding:10px 14px;font-size:12px;border-radius:10px;} .site-page .eng-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;} .site-page .eng-card{align-items:stretch;text-align:left;justify-content:flex-start;min-height:176px;padding:22px;gap:12px;border:1px solid var(--card-border);border-radius:14px;box-shadow:none;animation:none;transform:none;} .site-page .eng-card:hover{transform:translateY(-2px);border-color:var(--accent)!important;} .site-page .eng-title{font-size:18px;line-height:1.3;letter-spacing:-.02em;} .eng-card-summary{font-size:13px;line-height:1.55;color:var(--card-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;} .eng-card-meta{margin-top:auto;padding-top:12px;border-top:1px solid var(--card-border);font-size:11px;color:var(--card-muted);} .site-page :is(a,button,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:3px;} @media(max-width:680px){.site-page{padding:0 16px 42px}.site-brand span{display:none}.site-page .eng-tabs{margin-bottom:24px}.site-page .page-header h1{font-size:clamp(34px,9vw,52px)}.site-page .profession-tools{grid-template-columns:1fr;gap:10px}.catalog-section-heading{align-items:flex-start;flex-direction:column;gap:4px}.site-page .eng-grid{grid-template-columns:1fr}.site-page .eng-card{min-height:150px}.hero-stats{gap:7px}.hero-stats span{padding:10px 12px}} @media(prefers-reduced-motion:reduce){.site-page .eng-card,.site-page .eng-tab{transition:none!important}} .related-professions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px} .related-profession-link{font:inherit;font-size:13px;padding:10px 13px;border:1px solid var(--card-border);border-radius:10px;background:var(--soft-bg);color:var(--card-text);cursor:pointer;text-align:left} .related-profession-link:hover{border-color:var(--accent,#a0a0a0)} .related-profession-link:focus-visible{outline:2px solid var(--accent,#a0a0a0);outline-offset:2px} .career-unverified{font-size:12px;font-weight:500;color:var(--card-muted);white-space:normal} .standards-note{margin:28px 0 12px;padding:24px 28px;border:1px solid var(--card-border);border-left:3px solid var(--accent,#bdbdbd);border-radius:12px;background:var(--card-bg);color:var(--card-text)} .standards-note-kicker{font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--accent,#bdbdbd);margin-bottom:8px} .standards-note h2{font-size:20px;line-height:1.35;margin:0 0 12px;letter-spacing:-.025em} .standards-note p{font-size:14px;line-height:1.75;margin:0 0 10px} .standards-note .standards-note-source{font-size:12px;color:var(--card-muted);margin-bottom:0} .standards-note a{color:inherit;text-decoration:underline;text-underline-offset:3px} @media(max-width:680px){.standards-note{padding:18px}.standards-note h2{font-size:18px}} :root{--accent:#555555;} html.theme-dark,body.theme-dark{--accent:#bdbdbd;} .standards-note{border-left-color:var(--text-primary);} .standards-note-kicker,.hero-eyebrow{color:var(--text-secondary);} .site-page .eng-card:hover,.related-profession-link:hover{border-color:var(--text-primary)!important;} .site-page :is(a,button,input,select):focus-visible,.related-profession-link:focus-visible{outline-color:var(--text-primary);} .comparison-controls{padding:20px;border:1px solid var(--card-border);border-radius:12px;background:var(--card-bg);margin:20px 0} .comparison-controls label,.site-page>label{display:block;font-size:13px;font-weight:700;margin-bottom:10px} .comparison-picker{display:flex;gap:10px;flex-wrap:wrap} .comparison-picker select{flex:1;min-width:190px;padding:12px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--control-border);border-radius:8px} .comparison-selected{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px} .comparison-selected:empty{display:none} .comparison-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--card-border);border-radius:12px} .comparison-table{width:100%;min-width:660px;border-collapse:collapse;text-align:left;background:var(--card-bg);color:var(--card-text)} .comparison-table th,.comparison-table td{padding:16px;vertical-align:top;border-bottom:1px solid var(--card-border);font-size:13px;line-height:1.6;min-width:175px} .comparison-table thead th{font-size:14px;background:var(--soft-bg)} .comparison-table tbody th{min-width:145px;font-weight:700;background:var(--soft-bg)} .atlas-search{width:100%;padding:14px;margin:8px 0 24px;border:1px solid var(--control-border);border-radius:10px;background:var(--card-bg);color:var(--card-text);font:inherit} .atlas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:0 0 24px} .atlas-card{padding:24px;border:1px solid var(--card-border);border-radius:12px;background:var(--card-bg);color:var(--card-text)} .atlas-card h2{font-size:20px;margin:0 0 10px} .atlas-card h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 6px;color:var(--card-muted)} .atlas-card p{font-size:14px;line-height:1.65} .atlas-card a{display:inline-block;margin-top:16px;color:var(--card-text);text-decoration:underline;text-underline-offset:3px} @media(max-width:680px){.comparison-controls{padding:14px}.comparison-table th,.comparison-table td{padding:12px}} :root{--accent:#555;--ui-control-height:54px;--ui-radius:12px;--ui-font-size:15px;--ui-link-bg:var(--card-bg);--ui-link-text:var(--card-text);--ui-link-border:var(--card-border);} html.theme-dark,body.theme-dark{--accent:#bdbdbd;} body,button,input,select,textarea{font-family:var(--font);} .site-page{color:var(--text-body);} .site-page a,.site-page a:link,.site-page a:visited{color:var(--text-primary);} .site-page a:hover{color:var(--text-primary);} .site-page :is(input[type="search"],input[type="text"],input[type="number"],select),.site-page .comparison-picker select,.site-page .atlas-search,.site-page #professionSearch{width:100%;min-height:var(--ui-control-height);height:var(--ui-control-height);padding:0 16px;margin:0;min-width:0;max-width:100%;border:1px solid var(--control-border);border-radius:var(--ui-radius);background:var(--card-bg);color:var(--card-text);font:400 var(--ui-font-size)/1.4 var(--font);box-sizing:border-box;} .site-page :is(input,select)::placeholder{color:var(--card-muted);opacity:1;} .site-page :is(input,select,button):focus-visible,.site-page a:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px;} .site-page :is(.comparison-controls,.profession-tools) label,.site-page>label{font-size:var(--fs-sm);font-weight:600;line-height:1.4;margin:0 0 8px;display:block;} .site-page .comparison-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch;} .site-page :is(.eng-filter-btn,#addProfession){min-height:44px;padding:10px 16px;border:1px solid var(--control-border);border-radius:var(--ui-radius);background:var(--card-bg);color:var(--card-text);font:600 var(--fs-sm)/1.4 var(--font);text-align:center;} .site-page #addProfession{min-height:var(--ui-control-height);padding:0 24px;} .site-page .atlas-search{display:block;margin:0 0 20px;} .site-page .atlas-grid{margin-top:12px;} .site-page .atlas-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;} .site-page .atlas-card a,.site-page .standards-note a,.site-page .eng-resource-link,.site-page .modal a[href],.site-page .resource-link,.site-page .resource-card a[href]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 15px;margin:8px 8px 0 0;border:1px solid var(--ui-link-border);border-radius:var(--ui-radius);background:var(--ui-link-bg);color:var(--ui-link-text);font:600 var(--fs-sm)/1.35 var(--font);text-decoration:none;box-shadow:none;} .site-page .atlas-card a:visited,.site-page .standards-note a:visited,.site-page .modal a[href]:visited{color:var(--ui-link-text);} .site-page .atlas-card a:hover,.site-page .standards-note a:hover,.site-page .modal a[href]:hover{border-color:var(--text-primary);background:var(--soft-bg);} .site-page .site-brand,.site-page .eng-tab{background:transparent;border-radius:0;min-height:auto;padding-top:10px;padding-bottom:10px;text-decoration:none;} .site-page .site-brand{padding:0;} .site-page .standards-note-kicker,.site-page .hero-eyebrow{color:var(--text-secondary);} .site-page .standards-note{border-left-color:var(--text-primary);} .site-page .eng-card-meta,.site-page .atlas-card h3{color:var(--card-muted);} @media(max-width:680px){.site-page .comparison-picker{grid-template-columns:1fr;} .site-page #addProfession{width:100%;} .site-page .atlas-card{padding:20px;}} .site-page .eng-tabs{gap:8px;padding:12px 0;align-items:center;} .site-page .eng-tabs .eng-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid var(--card-border);border-radius:var(--ui-radius);background:var(--card-bg);color:var(--card-text);font:600 var(--fs-sm)/1.35 var(--font);text-decoration:none;} .site-page .eng-tabs .eng-tab.active{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg);} .site-page .eng-tabs .eng-tab:hover{border-color:var(--text-primary);} .site-page .eng-tabs .eng-tab.active:hover{color:var(--btn-text);} .site-page .atlas-card a,.site-page .standards-note a,.site-page .modal a[href]{max-width:100%;overflow-wrap:anywhere;} .eng-calendar-root > .eng-tabs{display:flex;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;margin:16px 0 28px;padding:12px 0;border-bottom:1px solid var(--card-border);} .eng-calendar-root > .eng-tabs .eng-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;white-space:nowrap;flex-shrink:0;border:1px solid var(--card-border);border-radius:var(--ui-radius);background:var(--card-bg);color:var(--card-text);font:600 var(--fs-sm)/1.35 var(--font);text-decoration:none;} .eng-calendar-root > .eng-tabs .eng-tab.active{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg);} .eng-calendar-root > .eng-tabs .eng-tab:hover{border-color:var(--text-primary);} .eng-calendar-root > .eng-tabs .eng-tab.active:hover{color:var(--btn-text);} .eng-calendar-root .site-page{padding-left:0;padding-right:0;} .site-page a.eng-card--link,.site-page a.eng-card--link:link,.site-page a.eng-card--link:visited{color:var(--card-text);text-decoration:none;border:1px solid var(--card-border);background:var(--card-bg);} .site-page a.eng-card--link:hover{border-color:var(--text-primary);} .site-page a.eng-card--link :is(h2,h3,p,span){color:inherit;} .site-page .resource-filter-row{width:100%;} .site-page .resource-search{min-height:var(--ui-control-height);height:var(--ui-control-height);} .site-page .resource-buttons button{min-height:42px;border-radius:var(--ui-radius);} @media(max-width:680px){.eng-calendar-root{padding:0 16px;} .eng-calendar-root > .eng-tabs{margin-top:8px;}} .site-nav-wrap{width:100%;max-width:var(--container);margin-inline:auto;min-width:0;} .site-nav-wrap>.eng-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-width:0;} .site-nav-wrap>.eng-tabs .eng-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:var(--ui-radius);border:1px solid var(--card-border);background:var(--card-bg);color:var(--card-text);font:600 var(--fs-sm)/1.35 var(--font);text-decoration:none;white-space:normal;text-align:center;} .site-nav-wrap>.eng-tabs .eng-tab.active{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg);} .site-nav-wrap>.eng-tabs .eng-tab:hover{border-color:var(--text-primary);} .site-nav-wrap>.eng-tabs .eng-tab.active:hover{color:var(--btn-text);} .site-nav-toggle{display:none;} .site-page .atlas-card a,.site-page .atlas-card a:visited,.site-page .footer-btn,.site-page .footer-btn:visited{color:var(--card-text);} .site-page .atlas-card a:hover{color:var(--text-primary);} .site-page :is(input,select,textarea,button){font-family:var(--font);} .site-page :is(.atlas-search,.resource-search,.profession-tools input,.profession-tools select){min-height:var(--ui-control-height);font-size:var(--ui-font-size);} @media(max-width:860px){.site-nav-wrap{padding:8px 0;} .site-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 16px;background:var(--card-bg);color:var(--card-text);border:1px solid var(--card-border);border-radius:var(--ui-radius);font:600 15px/1.4 var(--font);cursor:pointer;} .site-nav-toggle::after{content:'+';font-size:22px;line-height:1;font-weight:400;} .site-nav-open>.site-nav-toggle::after{content:'−';} .site-nav-wrap>.eng-tabs,.eng-calendar-root>.site-nav-wrap>.eng-tabs{display:none;flex-direction:column;align-items:stretch;overflow:visible;max-height:none;padding:10px 0 4px;margin:0;border:0;} .site-nav-wrap.site-nav-open>.eng-tabs{display:flex;} .site-nav-wrap>.eng-tabs .eng-tab{width:100%;justify-content:flex-start;text-align:left;min-height:44px;} .eng-calendar-root>.site-nav-wrap{padding:8px 0;}} .eng-calendar-root>.site-topbar,.site-page>.site-topbar{width:100%;max-width:var(--container);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;} .eng-calendar-root>.site-topbar{padding-left:0;padding-right:0;} .site-footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:22px auto 14px;max-width:var(--container);} .site-footer-links .footer-btn,.site-footer-links .footer-btn:link,.site-footer-links .footer-btn:visited{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;margin:0;border:1px solid var(--card-border);border-radius:var(--ui-radius);background:var(--card-bg);color:var(--card-text);text-decoration:none;font:600 var(--fs-sm)/1.4 var(--font);} .site-footer-links .footer-btn:hover{border-color:var(--text-primary);} .site-footer,.site-page+footer{padding:24px max(20px,calc((100vw - var(--container))/2));border-top:1px solid var(--card-border);margin-top:48px;text-align:center;} .site-footer-copy{font-size:var(--fs-xs);color:var(--text-secondary);margin:12px 0;} .eng-calendar-root .site-page{width:100%;max-width:var(--container);margin:0 auto;} .site-page .eng-grid,.site-page .atlas-grid{align-items:stretch;} .site-page .atlas-card{height:100%;min-width:0;} .site-page .atlas-card h2{overflow-wrap:anywhere;} .site-page :is(input,select,button){max-width:100%;} @media(max-width:860px){.eng-calendar-root>.site-topbar{padding:12px 0;} .site-topbar .site-brand span{font-size:11px;} .site-footer,.site-page+footer{padding:22px 16px;}}
