|
* { |
|
box-sizing: border-box; |
|
} |
|
|
|
:root { |
|
font-family: Inter, Avenir, Helvetica, Arial, sans-serif; |
|
font-size: 16px; |
|
line-height: 24px; |
|
font-weight: 400; |
|
|
|
color: #213547; |
|
background-color: #ffffff; |
|
|
|
font-synthesis: none; |
|
text-rendering: optimizeLegibility; |
|
-webkit-font-smoothing: antialiased; |
|
-moz-osx-font-smoothing: grayscale; |
|
-webkit-text-size-adjust: 100%; |
|
} |
|
|
|
a { |
|
font-weight: 500; |
|
color: #646cff; |
|
text-decoration: inherit; |
|
} |
|
a:hover { |
|
color: #747bff; |
|
} |
|
|
|
body { |
|
margin: 0; |
|
display: flex; |
|
place-items: center; |
|
min-width: 320px; |
|
min-height: 100vh; |
|
} |
|
|
|
h1 { |
|
font-size: 3.2em; |
|
line-height: 1.1; |
|
} |
|
|
|
.card { |
|
padding: 2em; |
|
} |
|
|
|
#app { |
|
width: min(900px, 100vw); |
|
min-height: 100vh; |
|
margin: 0 auto; |
|
padding: 2rem; |
|
text-align: center; |
|
} |
|
|
|
button { |
|
border-radius: 4px; |
|
border: 1px solid transparent; |
|
padding: 0.6em 1.2em; |
|
font-size: 1em; |
|
font-weight: 500; |
|
font-family: inherit; |
|
background-color: #e5e5e5; |
|
cursor: pointer; |
|
transition: border-color 0.25s; |
|
} |
|
button:hover { |
|
border-color: #646cff; |
|
} |
|
button:focus, |
|
button:focus-visible { |
|
outline: 4px auto -webkit-focus-ring-color; |
|
} |
|
|
|
|
|
main { |
|
display: flex; |
|
flex-direction: column; |
|
gap: 1rem; |
|
width: 100%; |
|
} |
|
|
|
label { |
|
display: flex; |
|
flex-flow: row wrap; |
|
align-items: center; |
|
gap: 0.5rem; |
|
text-align: left; |
|
} |
|
|
|
label.missing > input { |
|
border: 1px solid red; |
|
} |
|
|
|
textarea { |
|
flex-basis: 100%; |
|
} |
|
|
|
details > summary { |
|
text-align: left; |
|
} |
|
|
|
#inner { |
|
flex: 1; |
|
display: flex; |
|
flex-direction: column; |
|
} |
|
|
|
#inner > *:first-child { |
|
min-height: 20ch; |
|
border: 1px solid black; |
|
padding: 0.5rem; |
|
} |
|
|
|
.result { |
|
text-align: left; |
|
} |
|
|
|
.error { |
|
text-align: left; |
|
font-family: monospace; |
|
color: red; |
|
} |
|
|
|
span.word-chip { |
|
background-color: #222222; |
|
color: white; |
|
padding: 2px; |
|
} |
|
|
|
span.word-chip.flagged { |
|
background-color: #dd1111; |
|
border: 1px solid black; |
|
} |
|
|
|
.result-container { |
|
position: relative; |
|
} |
|
|
|
.result-container textarea { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
} |
|
|
|
.spinner-overlay { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background-color: rgba(255, 255, 255, 0.7); |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
z-index: 10; |
|
} |
|
|
|
.spinner { |
|
border: 4px solid #f3f3f3; |
|
border-top: 4px solid #3498db; |
|
border-radius: 50%; |
|
width: 40px; |
|
height: 40px; |
|
animation: spin 1s linear infinite; |
|
} |
|
|
|
@keyframes spin { |
|
0% { transform: rotate(0deg); } |
|
100% { transform: rotate(360deg); } |
|
} |
|
|