:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f4f6;font-family:Arial,Helvetica,sans-serif}@font-face{font-family:NishaLocoplate;src:url(/assets/NishaLocoplate-Regular-L43r5NBt.ttf)format("truetype");font-weight:400;font-style:normal}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}.app-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:48px 0}.page-header{max-width:760px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#2563eb;margin:0 0 12px;font-size:.85rem;font-weight:700}h1{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1}.intro{color:#4b5563;margin:20px 0 0;font-size:1.1rem;line-height:1.7}.home-section{max-width:820px;padding:24px 0 8px}.tool-overview-section,.tool-section{margin-top:40px}.section-heading{max-width:820px;margin-bottom:20px}.section-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05}.section-heading p{color:#4b5563;margin:12px 0 0;line-height:1.7}.tool-switcher{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.tool-tab{color:#111827;text-align:left;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:24px;gap:8px;min-height:120px;padding:22px;font-size:1.3rem;font-weight:800;display:grid;box-shadow:0 12px 32px #0f172a14}.tool-tab span{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-size:.8rem;font-weight:800}.tool-tab:hover{border-color:#111827}.active-tool-tab{color:#fff;background:#111827;border-color:#111827}.active-tool-tab span{color:#cbd5e1}.placeholder-card{color:#374151;background:#fff;border:1px dashed #9ca3af;border-radius:24px;padding:28px}.placeholder-card h3{margin:0;font-size:1.4rem}.placeholder-card p{margin:12px 0 0;line-height:1.7}.generator-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:24px;margin-top:40px;display:grid}.generator-card,.result-card{background:#fff;border:1px solid #d1d5db;border-radius:24px;padding:24px;box-shadow:0 12px 32px #0f172a14}.result-card{grid-column:1/-1}.form-grid{gap:18px;display:grid}.field{gap:8px;display:grid}.field span{color:#374151;font-size:.9rem;font-weight:700}.field input,.field select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:14px;width:100%;padding:12px 14px}.field input:focus,.field select:focus{border-color:#2563eb;outline:3px solid #2563eb2e}.field input:disabled{color:#6b7280;cursor:not-allowed;background:#f3f4f6}.result-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.result-label{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin:0 0 12px;font-size:.85rem;font-weight:700}.download-button{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:12px;padding:10px 16px;font-weight:700}.download-button:hover{background:#1f2937}.download-button:disabled{opacity:.65;cursor:wait}.plate-scroll-area{width:100%;padding:10px 0 8px;overflow:auto hidden}.serial-plate{color:#fff;box-sizing:border-box;background:#000;border:1px solid #111;border-radius:0;grid-template-columns:355px 122px 255px 76px 136px 170px;align-items:center;column-gap:8px;width:1220px;min-width:1220px;max-width:1220px;height:78px;margin:0;padding:7px 14px;font-family:Arial,Helvetica,sans-serif;line-height:1;display:grid}.plate-main-number{letter-spacing:0;white-space:nowrap;grid-template-columns:145px 50px 78px 78px;justify-content:start;align-items:center;width:355px;font-family:Arial Narrow,Arial,Helvetica,sans-serif;font-size:4rem;font-weight:900;display:grid}.plate-main-number span{text-align:center;display:block}.plate-depot-code{letter-spacing:0;white-space:nowrap;text-align:left;width:122px;font-family:Arial,Helvetica,sans-serif;font-size:2rem;font-weight:900;display:block}.plate-system-info{letter-spacing:-.02em;white-space:nowrap;text-align:left;grid-template-rows:1fr 1fr;align-items:center;gap:1px;width:255px;font-family:Arial,Helvetica,sans-serif;font-size:1.72rem;font-weight:700;line-height:.9;display:grid}.plate-date-labels{white-space:nowrap;text-align:left;grid-template-rows:repeat(3,1fr);align-items:center;width:76px;font-family:Arial,Helvetica,sans-serif;font-size:.98rem;font-weight:900;line-height:1;display:grid}.plate-date-values{white-space:nowrap;text-align:left;grid-template-rows:repeat(3,1fr);align-items:center;width:136px;font-family:Arial,Helvetica,sans-serif;font-size:.98rem;font-weight:900;line-height:1;display:grid}.plate-pem-area{justify-content:flex-end;align-items:center;gap:12px;width:190px;display:flex}.pem-block{color:#fff;gap:2px;font-family:Arial,Helvetica,sans-serif;font-size:.58rem;font-weight:900;line-height:1;display:grid}.pem-title-row{justify-content:space-between;align-items:center;gap:4px;display:flex}.pem-title-row strong{font-size:.56rem;font-weight:900}.pem-grid{border-top:1px solid #fff;border-left:1px solid #fff;grid-template-rows:repeat(2,12px);grid-template-columns:repeat(6,12px);display:grid}.pem-grid i{border-bottom:1px solid #fff;border-right:1px solid #fff;display:block}.code-details{color:#4b5563;margin-top:20px;line-height:1.6}.code-details p{margin:0 0 10px}.trainmark-preview{color:#111;box-sizing:border-box;background:#f97316;border:4px solid #111;grid-template-rows:1fr auto;width:180px;height:180px;font-family:Arial,Helvetica,sans-serif;font-weight:900;line-height:1;display:grid;overflow:hidden}.trainmark-speed{place-items:center;padding:12px 10px 8px;font-family:Arial Narrow,Arial,Helvetica,sans-serif;font-size:6.2rem;font-weight:900;display:grid}.trainmark-bottom-row{border-top:4px solid #111;grid-template-columns:1fr 1fr;min-height:54px;font-size:2.4rem;font-weight:900;display:grid}.trainmark-bottom-row span{place-items:center;padding:4px 0 6px;display:grid}.trainmark-bottom-row span:first-child{border-right:4px solid #111}.trainmark-result-card{gap:18px;display:grid}.trainmark-preview-wrap{justify-content:center;align-items:center;width:max-content;max-width:100%;display:inline-flex}.trainmark-modal{width:min(100%,520px)}.trainmark-modal .trainmark-preview-wrap{margin-bottom:18px}.preview-modal-backdrop{z-index:50;background:#0f172ab8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.preview-modal{background:#fff;border-radius:24px;width:min(100%,1180px);max-height:calc(100vh - 48px);padding:24px;overflow:auto;box-shadow:0 24px 80px #00000059}.preview-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.preview-modal-code{color:#4b5563;margin:4px 0 0;font-weight:700}.preview-modal-plate{margin-bottom:18px;overflow-x:auto}.modal-close-button{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:10px 16px;font-weight:700}.modal-close-button:hover{background:#f3f4f6}.locomotive-plate-scroll-area{text-align:center;width:100%;padding:10px 0 6px;overflow-x:auto}.locomotive-plate{color:#fff;white-space:nowrap;box-sizing:border-box;background:#000;border:1px solid #111;border-radius:0;justify-content:center;align-items:center;gap:34px;width:auto;min-width:0;height:116px;margin:0 auto;padding:0 22px;font-family:Arial Narrow,Arial,Helvetica,sans-serif;font-weight:900;line-height:1;display:inline-flex}.locomotive-axle-code,.locomotive-series-code,.locomotive-year-code,.locomotive-unit-code{letter-spacing:-.025em;font-family:Arial Narrow,Arial,Helvetica,sans-serif;font-size:5.8rem;font-weight:900;line-height:1;display:inline-block}.locomotive-series-code{margin-left:2px}.locomotive-year-code{margin-left:4px}.locomotive-unit-code{margin-left:2px}.old-locomotive-plate-scroll-area{text-align:center;width:100%;padding:10px 0 6px;overflow-x:auto}.old-locomotive-plate-shell{box-sizing:border-box;background:#c9c4ba;border:2px solid #3a3936;border-radius:18px;justify-content:center;align-items:center;margin:0 auto;padding:6px;display:inline-flex}.old-locomotive-plate-inner{box-sizing:border-box;color:#d8d3c8;white-space:nowrap;background:#111313;border:1px solid #232323;border-radius:12px;justify-content:center;align-items:center;gap:24px;min-height:92px;padding:0 22px;font-family:NishaLocoplate,Arial,Helvetica,sans-serif;display:inline-flex}.old-locomotive-axle-code,.old-locomotive-series-code,.old-locomotive-unit-code{letter-spacing:.015em;text-align:center;justify-content:center;align-items:center;font-family:NishaLocoplate,Arial,Helvetica,sans-serif;font-size:5.95rem;line-height:.9;display:inline-flex;transform:translateY(7px)}.old-locomotive-series-code,.old-locomotive-unit-code{margin-left:2px}@media (width<=820px){.generator-layout,.tool-switcher{grid-template-columns:1fr}}@media (width<=980px){.result-card{overflow-x:auto}}
