*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #1E3A8A;--color-primary-light: #2563EB;--color-primary-dark: #1E2D5B;--color-success: #10B981;--color-success-light: #34D399;--color-warning: #F59E0B;--color-danger: #EF4444;--color-gold: #D97706;--color-bg: #FFFFFF;--color-surface: #F8FAFC;--color-surface-alt: #F1F5F9;--color-border: #E2E8F0;--color-text: #0F172A;--color-text-muted: #64748B;--color-text-light: #94A3B8;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--max-width: 800px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--transition: .15s ease}html{scrollbar-gutter:stable;font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{line-height:1.2;font-weight:700;color:var(--color-primary-dark)}h1{font-size:2rem;margin-bottom:.5rem}h2{font-size:1.5rem;margin-top:2rem;margin-bottom:.75rem}h3{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.5rem}p{margin-bottom:1rem}a{color:var(--color-primary-light);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-primary)}.container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}.skip-link{position:absolute;top:-100%;left:0;background:var(--color-primary);color:#fff;padding:.75rem 1.5rem;z-index:1000;font-weight:600;text-decoration:none;border-radius:0 0 var(--radius) 0}.skip-link:focus{top:0}.site-header{background:var(--color-primary);color:#fff;padding:1rem 0}.site-header .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.site-header a{color:#fff;text-decoration:none}.site-logo{font-size:1.1rem;font-weight:700;white-space:nowrap}.site-nav{display:flex;gap:1.25rem;font-size:.875rem;flex-wrap:wrap}.site-nav a:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--color-border);padding:2rem 0;margin-top:3rem;color:var(--color-text-muted);font-size:.8125rem;text-align:center}.site-footer nav{display:flex;justify-content:center;gap:1.5rem;margin-bottom:.75rem;flex-wrap:wrap}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem;color:var(--color-text)}input[type=number],input[type=text],select{width:100%;min-height:44px;padding:.5rem .75rem;font-size:1rem;font-family:var(--font-mono);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition)}input[type=number]:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2563eb26}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}button,.btn{min-height:44px;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:600;font-family:var(--font-ui);border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition),transform var(--transition)}button:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-light)}.btn-secondary{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-border)}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.snippet-hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;padding:1.5rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.5}.snippet-hero strong{font-family:var(--font-mono);font-size:1.25rem}.disclaimer-banner{background:#fffbeb;border:1px solid #FDE68A;border-left:4px solid var(--color-warning);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.8125rem;color:#92400e;line-height:1.5}.result-hud{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.5rem 0}.result-item{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;border:1px solid var(--color-border)}.result-item .result-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.result-item .result-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--color-primary-dark)}.result-item.highlight{background:var(--color-primary);border-color:var(--color-primary)}.result-item.highlight .result-label{color:#fffc}.result-item.highlight .result-value{color:#fff}.formula-display{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;margin:1.5rem 0}.formula-step{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--color-border);gap:1rem}.formula-step:last-child{border-bottom:none}.formula-step .step-label{font-size:.8125rem;font-weight:600;color:var(--color-text-muted);flex-shrink:0}.formula-step .step-formula{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text);text-align:right;flex-grow:1}.formula-step .step-result{font-family:var(--font-mono);font-size:.875rem;font-weight:700;color:var(--color-primary);flex-shrink:0;min-width:90px;text-align:right}.bar-regular{background:var(--color-primary-light)}.bar-overtime{background:var(--color-success)}.bar-doubletime{background:var(--color-gold)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem}@media(max-width:600px){.day-grid{grid-template-columns:repeat(2,1fr)}}.day-input{display:flex;flex-direction:column;align-items:center}.day-input label{font-size:.75rem;text-align:center;margin-bottom:.25rem}.day-input input{text-align:center;max-width:80px}.toggle-group{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.toggle{position:relative;width:44px;height:24px;background:var(--color-border);border-radius:12px;cursor:pointer;transition:background var(--transition);border:none;padding:0}.toggle.active{background:var(--color-success)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--transition);box-shadow:var(--shadow-sm)}.toggle.active:after{transform:translate(20px)}.toggle-label{font-size:.875rem;color:var(--color-text-muted)}.content-section{margin-top:3rem;line-height:1.7}.content-section h2{border-bottom:2px solid var(--color-border);padding-bottom:.5rem}.source-link{font-size:.75rem;color:var(--color-text-muted);display:inline-block;margin-top:.25rem}details{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.75rem}details summary{padding:1rem;cursor:pointer;font-weight:600;font-size:.9375rem;list-style:none}details summary::marker,details summary::-webkit-details-marker{display:none}details summary:before{content:"+ ";font-weight:700;color:var(--color-primary)}details[open] summary:before{content:"− "}details>div,details>p{padding:0 1rem 1rem;font-size:.9375rem}@media(max-width:640px){h1{font-size:1.5rem}h2{font-size:1.25rem}.result-hud{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.formula-step{flex-direction:column;gap:.25rem}.formula-step .step-formula,.formula-step .step-result{text-align:left}}:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@font-face{font-family:Inter;src:url(/fonts/inter-variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-variable.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
