:root{--primary:#1c69d4;--primary-active:#0653b6;--primary-disabled:#d6d6d6;--ink:#262626;--body:#3c3c3c;--body-strong:#1a1a1a;--muted:#6b6b6b;--muted-soft:#9a9a9a;--hairline:#e6e6e6;--hairline-strong:#ccc;--canvas:#fff;--surface-soft:#f7f7f7;--surface-card:#fafafa;--surface-strong:#ebebeb;--surface-dark:#1a2129;--surface-dark-elevated:#262e38;--on-primary:#fff;--on-dark:#fff;--on-dark-soft:#bbb;--success:#22c55e;--warning:#f59e0b;--error:#dc2626;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-section:80px;--sans:"BMW Type Next Latin", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font-family:var(--sans);letter-spacing:0;color:var(--body);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-weight:300;line-height:1.55}body{background:var(--canvas);margin:0}#root{box-sizing:border-box;min-height:100svh}h1,h2,h3,h4,h5{font-family:var(--sans);letter-spacing:0;color:var(--ink);margin:0;font-weight:700}.page{background:var(--canvas);flex-direction:column;min-height:100svh;display:flex}.band-inner{width:100%;max-width:1440px;padding:0 var(--space-xl);box-sizing:border-box;margin:0 auto}.top-nav{background:var(--canvas);border-bottom:1px solid var(--hairline)}.top-nav-inner{justify-content:space-between;align-items:center;gap:var(--space-md);height:64px;display:flex}.top-nav-brand{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);font-size:16px;font-weight:700}.top-nav-lang{align-items:center;gap:var(--space-sm);display:flex}.top-nav-lang-label{letter-spacing:.3px;color:var(--muted);font-size:14px;font-weight:400}.hero-band{background:var(--canvas);padding-top:var(--space-xl)}.hero-card{background:var(--surface-dark);color:var(--on-dark);padding:var(--space-section)}.hero-eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--on-dark-soft);margin:0 0 var(--space-lg);font-size:13px;font-weight:700;line-height:1.3}.hero-card h1{letter-spacing:0;color:var(--on-dark);margin:0;font-size:64px;font-weight:700;line-height:1.05}.hero-sub{color:var(--on-dark-soft);max-width:560px;margin:var(--space-md) 0 0;font-size:16px;font-weight:300;line-height:1.55}.content-band{background:var(--canvas);padding:var(--space-section) 0;flex:1}.panel-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);align-items:stretch;display:grid}.panel{background:var(--canvas);border:1px solid var(--hairline);padding:var(--space-lg);box-sizing:border-box;border-radius:0;flex-direction:column;display:flex}.panel-body{flex:1}.panel-actions{padding-top:var(--space-md);margin-top:auto}.panel-head{align-items:baseline;gap:var(--space-xs);margin:0 0 var(--space-lg);display:flex}.panel-index{letter-spacing:1.5px;color:var(--muted-soft);font-size:13px;font-weight:700;line-height:1.3}.panel-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);margin:0;font-size:13px;font-weight:700;line-height:1.3}.config-col{gap:var(--space-md);flex-direction:column;display:flex}.config-field{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.config-field label{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:700;line-height:1.3}.key-storage{align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.key-storage-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);margin:0 0 var(--space-xxs);font-size:13px;font-weight:700;line-height:1.3}.section-block{margin-top:var(--space-section)}.section-head{color:var(--ink);margin:0 0 var(--space-lg);font-size:32px;font-weight:700;line-height:1.15}.section-head-row{justify-content:space-between;align-items:center;gap:var(--space-md);margin:0 0 var(--space-lg);display:flex}.section-head-row .section-head{margin:0}.period-form{align-content:center;align-items:flex-end;gap:var(--space-md);background:var(--surface-card);border:1px solid var(--hairline-strong);min-height:172px;padding:var(--space-lg);box-sizing:border-box;flex-wrap:wrap;display:flex}.period-field{flex:320px;max-width:420px}.period-hint{color:var(--muted);flex:100%;margin:0;font-size:14px;font-weight:300;line-height:1.55}.time-cell.ant-input{text-align:center;font-variant-numeric:tabular-nums;border-color:var(--hairline);width:72px;font-weight:300}.time-cell.ant-input:hover{border-color:var(--hairline-strong)}.time-cell.ant-input:focus{border-color:var(--ink)}.time-cell.ant-input::placeholder{color:var(--muted-soft);letter-spacing:1px}.time-cell.is-invalid.ant-input,.time-cell.is-invalid.ant-input:focus{border-color:var(--error);color:var(--error)}.spin-wrapper{padding:var(--space-xl) 0;justify-content:center;display:flex}.result-header{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 var(--space-md);font-size:13px;font-weight:700;line-height:1.3}.bulk-bar-fields{align-items:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.bulk-field{flex:240px;max-width:360px}.cta-band{background:var(--canvas);padding-bottom:var(--space-section)}.cta-card{background:var(--surface-dark);color:var(--on-dark);padding:var(--space-xxl) var(--space-section);justify-content:space-between;align-items:center;gap:var(--space-xl);flex-wrap:wrap;display:flex}.cta-card h2{color:var(--on-dark);margin:0;font-size:32px;font-weight:700;line-height:1.15}.cta-card p{color:var(--on-dark-soft);margin:var(--space-xs) 0 0;font-size:16px;font-weight:300;line-height:1.55}.github-identity{align-items:center;gap:var(--space-md);display:flex}.github-avatar{background:var(--surface-strong);width:48px;height:48px;color:var(--muted-soft);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex;overflow:hidden}.github-avatar img{object-fit:cover;width:100%;height:100%;display:block}.github-identity-text{min-width:0}.github-identity-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:700;line-height:1.4;overflow:hidden}.github-identity-name.is-empty{color:var(--muted-soft)}.panel-hint{color:var(--muted);margin:0;font-size:14px;font-weight:300;line-height:1.55}.github-awaiting{gap:var(--space-sm);flex-direction:column;display:flex}.github-awaiting-hint{color:var(--body);margin:0;font-size:14px;font-weight:300}.github-awaiting-hint strong{color:var(--ink);font-weight:700}.github-code-row{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.github-code{font-family:var(--mono);letter-spacing:4px;color:var(--ink);background:var(--surface-strong);border-radius:0;padding:8px 14px;font-size:22px;font-weight:700}.github-polling{align-items:center;gap:var(--space-xs);color:var(--body);flex-wrap:wrap;font-size:14px;font-weight:300;display:flex}.commit-list{padding:var(--space-xxs) 0;gap:var(--space-xs);flex-direction:column;margin:0;list-style:none;display:flex}.commit-item{align-items:center;gap:var(--space-xs);font-size:14px;font-weight:300;display:flex}.commit-sha{font-family:var(--mono);letter-spacing:.5px;color:var(--muted-soft);flex-shrink:0;font-size:12px}.commit-repo{text-overflow:ellipsis;flex-shrink:0;max-width:200px;overflow:hidden}.commit-message{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.commit-message:hover{text-decoration:underline}.commits-loading,.commits-empty{align-items:center;gap:var(--space-xs);color:var(--muted);padding:var(--space-xxs) 0;margin:0;font-size:14px;font-weight:300;display:flex}.ant-btn{letter-spacing:.5px;font-weight:700;box-shadow:none!important}.ant-btn-primary:disabled,.ant-btn-primary.ant-btn-disabled{background:var(--primary-disabled);color:var(--muted);border-color:var(--primary-disabled)}.ant-upload-wrapper .ant-upload-drag{background:var(--surface-card);border:1px solid var(--hairline-strong);border-radius:0}.ant-upload-wrapper .ant-upload-drag:not(.ant-upload-disabled):hover{border-color:var(--ink)}.ant-upload-wrapper .ant-upload-drag .ant-upload-drag-icon .anticon{color:var(--primary)}.ant-upload-wrapper .ant-upload-drag .ant-upload-text{font-weight:700;color:var(--ink)!important;font-size:18px!important}.ant-upload-wrapper .ant-upload-drag .ant-upload-hint{font-weight:300;color:var(--muted)!important;font-size:14px!important}.ant-table-wrapper .ant-table-thead>tr>th{letter-spacing:1.5px;text-transform:uppercase;font-size:13px;font-weight:700}.ant-table-wrapper .ant-table-tbody>tr>td{font-weight:300}.ant-switch,.ant-switch .ant-switch-inner,.ant-switch .ant-switch-handle:before{border-radius:0}.ant-picker-dropdown .ant-picker-panel-container{border:1px solid var(--hairline-strong);box-shadow:none}.ant-picker-dropdown .ant-picker-content th{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.ant-picker-dropdown .ant-picker-header-view button{font-weight:700}.ant-picker .ant-picker-input>input{font-weight:300}@media (width<=1024px){.panel-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.band-inner{padding:0 var(--space-md)}.content-band{padding:var(--space-xxl) 0}.cta-band{padding-bottom:var(--space-xxl)}.cta-card{padding:var(--space-xl) var(--space-lg)}.hero-band{padding-top:var(--space-md)}.hero-card{padding:var(--space-xxl) var(--space-lg)}.section-block{margin-top:var(--space-xxl)}.hero-card h1{font-size:40px}.section-head,.cta-card h2{font-size:24px}.panel-grid{grid-template-columns:1fr}.section-head-row{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.ant-picker-dropdown{max-width:calc(100vw - 2 * var(--space-md))}.ant-picker-dropdown .ant-picker-panels{flex-wrap:wrap}.ant-picker-dropdown .ant-picker-panel-container{max-width:100%;overflow-x:auto}}
