*{box-sizing:border-box}html,body,#root{color:#111827;background:#f5f7fb;min-height:100%;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif}body{min-height:100vh}button,input{font:inherit}.page{max-width:1100px;margin:0 auto;padding:48px 20px 80px}.hero{margin-bottom:32px}.hero h1{margin:0 0 12px;font-size:40px;line-height:1.2}.hero p{color:#4b5563;margin:0;font-size:18px;line-height:1.6}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.tool-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 10px 30px #00000014}.tool-card--wide{grid-column:1/-1}.tool-card h2{margin-top:0;margin-bottom:10px;font-size:22px}.tool-card p{color:#4b5563;margin-top:0;margin-bottom:18px;line-height:1.6}.tool-card button{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:10px;padding:12px 14px;font-size:15px}.tool-card button:disabled{opacity:.6;cursor:not-allowed}.tool-panel{gap:16px;display:grid}.field{gap:8px;display:grid}.field span{font-weight:700}.field small{color:#6b7280}.field input[type=number],.field input[type=file],.field input[type=text]{background:#fff;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:12px 14px}.field input[type=range]{width:100%}.radio-group{background:#fff;border:1px solid #d1d5db;border-radius:10px;gap:10px;padding:12px 14px;display:grid}.radio-group label,.check-row{align-items:center;gap:10px;display:flex}.info-box,.result-box,.error-box{border-radius:12px;padding:14px 16px}.info-box{color:#1e3a8a;background:#eef2ff}.result-box{color:#065f46;background:#ecfdf5;gap:8px;display:grid}.error-box{color:#991b1b;background:#fef2f2}.note-text{color:#374151;line-height:1.5}.primary-button{width:fit-content}.field select{background:#fff;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:12px 14px}.upload-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.drop-zone{text-align:center;cursor:pointer;background:#eff6ff;border:2px dashed #93c5fd;border-radius:16px;gap:8px;padding:28px 20px;transition:all .2s;display:grid}.drop-zone strong{font-size:18px}.drop-zone span{color:#4b5563}.drop-zone input{display:none}.drop-zone--active{background:#dbeafe;border-color:#2563eb;transform:scale(1.01)}
