body{
    background:#fff;
    color:#222;
    margin:0;
    padding:24px;
}

.container{
    max-width:700px;
    margin:auto;
}

h1{
    font-size:28px;
    margin-bottom:24px;
}

.input-panel{
    border:1px solid #ddd;
    padding:20px;
    margin-bottom:24px;
}

.field{
    display:grid;
    grid-template-columns:220px 1fr;
    align-items:center;
    margin-bottom:12px;
}

.field:last-of-type{
    margin-bottom:20px;
}

input{
    width:100%;
    padding:10px;
    border:1px solid #bdbdbd;

    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

input:focus{
    outline:none;
    border-color:#222;
    box-shadow:0 0 0 3px rgba(0,0,0,0.08);
}
button{
    padding:10px 16px;
    border:none;
    background:#222;
    color:white;
    cursor:pointer;

    transition:
        background-color 0.15s ease,
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

button:hover{
    background:#111;
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(0,0,0,0.12);
}

button:active{
    transform:translateY(0);
    box-shadow:none;
}

.results{
    width:100%;
    border-collapse:collapse;
}

.results th,
.results td{
    border:1px solid #ddd;
    padding:12px;
}

.results th{
    background:#f5f5f5;
    text-align:left;
}