@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700&family=Barlow:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #16161c;--surface: #21212a;--surface2: #2a2a36;--border: #1e4d2b;--accent: #c9952a;--accent2: #f0b429;--text: #f5f0e8;--text-muted:#9e9480;--green: #2d7a3a;--yellow: #f0b429;--red: #c0522a;--role-bg: #1a3d22;--role-text: #f0b429}body{background:var(--bg);color:var(--text);font-family:Barlow,sans-serif;font-size:14px;min-height:100vh}.app{max-width:960px;margin:0 auto;padding:24px 16px}.header{margin-bottom:28px}.header-top{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}.header h1{font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:700;letter-spacing:.5px;color:var(--text)}.header-badge{font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent2);border:1px solid var(--accent);padding:2px 8px;border-radius:20px}.header-tagline{font-size:20px;opacity:.6;margin-left:4px}.ai-warning{font-size:11px!important;color:var(--yellow)!important;margin-top:4px!important;opacity:.85}.header p{color:var(--text-muted);font-size:13px}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:24px}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;padding:10px 20px;font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:600;letter-spacing:.5px;color:var(--text-muted);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent2)}.tab-content{display:grid;grid-template-columns:420px 1fr;gap:20px;align-items:start}@media (max-width: 780px){.tab-content{grid-template-columns:1fr}}.form-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:20px}.form-section h3{font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.skill-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.skill-label{width:90px;flex-shrink:0;font-size:13px;color:var(--text-muted)}.skill-control{flex:1;display:flex;align-items:center;gap:10px}.skill-slider{flex:1;-webkit-appearance:none;height:3px;background:var(--border);border-radius:2px;outline:none}.skill-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent2);border-radius:50%;cursor:pointer;transition:background .15s}.skill-slider::-webkit-slider-thumb:hover{background:var(--accent2)}.skill-value{display:flex;flex-direction:column;align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:4px 8px;min-width:110px}.skill-num-input{width:52px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;text-align:center;outline:none;padding:0 0 2px;line-height:1}.skill-num-input:focus{border-bottom-color:var(--accent2)}.skill-num-input::-webkit-inner-spin-button,.skill-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.skill-name{font-size:10px;color:var(--text-muted);white-space:nowrap;margin-top:2px}.age-row{display:flex;gap:12px}.age-field{display:flex;flex-direction:column;gap:4px}.age-field label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px}.age-input{width:72px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 10px;font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:600;text-align:center}.age-input:focus{outline:none;border-color:var(--yellow)}.current-role-display{display:flex;align-items:center;gap:12px}.role-badge{font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700;letter-spacing:1px;color:var(--role-text);background:var(--role-bg);padding:4px 14px;border-radius:4px;border:1px solid #4a6820}.talent-display{font-size:13px;color:var(--text-muted)}.seasons-row{display:flex;align-items:center;gap:8px}.season-btn{width:36px;height:36px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s}.season-btn:hover{border-color:var(--yellow);color:var(--text)}.season-btn.active{background:var(--green);border-color:var(--yellow);color:#fff}.seasons-label{font-size:13px;color:var(--text-muted);margin-left:4px}.contribution-hint{font-size:12px;color:var(--text-muted);margin-bottom:8px;line-height:1.5}.compare-input-row{display:flex;align-items:center;gap:8px}.compare-input{width:120px;background:var(--surface2);border:1px solid var(--yellow);border-radius:6px;color:var(--text);padding:8px 12px;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:600}.compare-input:focus{outline:none;border-color:var(--yellow)}.compare-unit{font-size:13px;color:var(--text-muted)}.required{color:var(--red)}.submit-btn{width:100%;padding:12px;background:var(--green);border:none;border-radius:6px;color:#fff;font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:background .15s}.submit-btn:hover:not(:disabled){background:#7dc420}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.training-setup{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.setup-field{display:flex;flex-direction:column;gap:4px}.setup-field label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px}.setup-select{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 10px;font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:600;width:64px;cursor:pointer}.setup-select:focus{outline:none;border-color:var(--accent2)}.rate-limit-info{font-size:11px;color:var(--text-muted);text-align:center}.data-thanks{font-size:12px;color:var(--accent2);text-align:center}.results-panel{min-height:300px}.result-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px;min-height:300px}.result-panel.empty,.result-panel.loading{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;text-align:center}.result-panel.error{color:var(--red)}.result-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.result-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.result-section h3{font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-card{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.stat-value{font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:700;color:var(--text)}.stat-value.role{color:var(--role-text)}.stat-value.green{color:var(--accent2)}.training-text{font-size:13px;color:var(--text);line-height:1.6;margin-bottom:10px}.gain-badge{display:inline-block;background:#f0b4291f;border:1px solid rgba(240,180,41,.35);color:var(--accent2);font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700;padding:4px 12px;border-radius:4px}.notes p{font-size:12px;color:var(--text-muted);line-height:1.6;font-style:italic}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:10px}@keyframes spin{to{transform:rotate(360deg)}}.gk-notice{display:flex;gap:12px;background:#6aaa1a1a;border:1px solid rgba(106,170,26,.25);border-radius:6px;padding:14px}.notice-icon{font-size:18px;flex-shrink:0;margin-top:2px}.gk-notice strong{display:block;font-size:13px;margin-bottom:4px}.gk-notice p{font-size:12px;color:var(--text-muted);line-height:1.5}.gk-empty{flex-direction:column;gap:8px}.gk-placeholder{text-align:center}.gk-icon{font-size:36px;display:block;margin-bottom:12px}.gk-placeholder p{color:var(--text-muted);font-size:13px}.gk-sub{font-size:12px;margin-top:4px}.stat-value.wage{color:var(--yellow)}.wage-breakdown{margin-top:8px;font-size:11px;color:var(--text-muted)}.wage-detail{background:#d299221a;border:1px solid rgba(210,153,34,.25);color:var(--yellow);padding:3px 10px;border-radius:4px;font-size:11px}.recharts-legend-wrapper{font-size:11px!important}.recharts-default-legend{display:flex;flex-wrap:wrap;gap:4px}.tip-banner{margin-top:32px;border-top:1px solid var(--border);padding-top:20px}.tip-banner-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,#c9952a1f,#f0b4290f);border:1px solid rgba(240,180,41,.3);border-radius:8px;padding:18px 20px}.tip-banner-icon{font-size:24px;flex-shrink:0;line-height:1}.tip-banner-text{flex:1;display:flex;flex-direction:column;gap:3px;min-width:160px}.tip-banner-title{font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:700;color:var(--accent2);letter-spacing:.4px;line-height:1}.tip-banner-sub{font-size:12px;color:var(--text-muted);line-height:1.4}.tip-banner-btn{background:linear-gradient(135deg,#c9952a,#f0b429);color:#0d1117;font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700;letter-spacing:.4px;border:none;border-radius:6px;padding:10px 20px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:opacity .15s,transform .15s;display:inline-block}.tip-banner-btn:hover{opacity:.88;transform:translateY(-1px)}@media (max-width: 600px){.tip-banner-btn{width:100%;text-align:center}}.credits{text-align:center;font-size:11px;color:var(--text-muted);margin-top:12px;padding-bottom:24px}.how-to-panel{max-width:640px;padding:4px 0 32px}.how-to-section{margin-bottom:24px}.how-to-heading{font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent2);margin-bottom:8px}.how-to-panel p{font-size:13px;color:var(--text);line-height:1.6}.how-to-list{font-size:13px;color:var(--text);line-height:1.7;padding-left:18px}.how-to-list li{margin-bottom:4px}.how-to-highlight{border-left:3px solid var(--yellow);background:#f0b42912;padding:10px 14px;border-radius:0 4px 4px 0}.how-to-highlight p{margin:0}
