:root{--muste:#171520;--muste-2:#211e2d;--muste-raja:#332f42;--violetti:#6e5da5;--violetti-tumma:#4a3e75;--violetti-vaalea:#a794c6;--petrooli:#00677b;--petrooli-tumma:#004e5c;--turkoosi:#66c1bf;--koralli:#f28f86;--oranssi:#f9b761;--tausta:#f5f5f3;--pinta:#fff;--raja:#e0e0dc;--harmaa:#5c5b57;--harmaa-vaalea:#a8a7a1;--tumma-teksti:#d8d7d2;--tint-petrooli:#e3f0f2;--tint-violetti:#efebf7;--tint-neutraali:#e8e7e3;--varoitus:#b3453c;--otsikko:"Freeman", "Arial Black", system-ui, sans-serif;--leipa:"Rubik", system-ui, -apple-system, sans-serif;--kulma:3px}*{box-sizing:border-box}body{background:var(--tausta);color:var(--muste);font-family:var(--leipa);margin:0;font-size:15px;line-height:1.5}h1,h2{font-family:var(--otsikko);text-transform:uppercase;letter-spacing:.04em;font-weight:400;line-height:1.1}h1{margin:0 0 1.25rem;font-size:2rem}h1 small{font-family:var(--leipa);text-transform:none;letter-spacing:0;color:var(--harmaa);font-size:.85rem;font-weight:400}h2{color:var(--muste-2);margin:2rem 0 .75rem;font-size:1.1rem}a{color:var(--petrooli);text-decoration:none}a:hover{text-decoration:underline}table{border-collapse:collapse;background:var(--pinta);border:1px solid var(--raja);border-radius:var(--kulma);width:100%}th{text-transform:uppercase;letter-spacing:.1em;color:var(--harmaa);background:var(--tint-neutraali);font-size:.7rem;font-weight:600}th,td{text-align:left;border-bottom:1px solid var(--raja);padding:.55rem .8rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--tint-violetti)}button{font-family:var(--leipa);text-transform:uppercase;letter-spacing:.1em;background:var(--violetti);color:#fff;border-radius:var(--kulma);cursor:pointer;border:none;padding:.6rem 1.1rem;font-size:.75rem;font-weight:600}button:hover{background:var(--violetti-tumma)}input{font-family:var(--leipa);border:1px solid var(--raja);border-radius:var(--kulma);background:var(--pinta);color:var(--muste);padding:.55rem .7rem;font-size:.95rem}input:focus{outline:2px solid var(--violetti-vaalea);outline-offset:1px;border-color:var(--violetti)}label{text-transform:uppercase;letter-spacing:.1em;color:var(--harmaa);flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}code{background:var(--tint-neutraali);border-radius:var(--kulma);padding:.1rem .35rem;font-size:.85em}
