ColourChecker / style.css
angeluget's picture
Deploy color palette checker app
beaca28 verified
:root {
--bg: #f7f3ec;
--ink: #2f2a24;
--panel: #fffaf2;
--accent: #7a5b3d;
--ok: #1f7a43;
--bad: #a1352f;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: var(--ink);
background: radial-gradient(circle at top, #fffdf8, var(--bg));
}
.app {
max-width: 760px;
margin: 0 auto;
padding: 16px;
}
h1 {
margin: 0 0 6px;
font-size: 1.35rem;
}
h2 {
margin: 0 0 10px;
font-size: 1rem;
}
p {
margin: 0 0 14px;
}
.camera-wrap {
position: relative;
border-radius: 14px;
overflow: hidden;
background: #ddd;
aspect-ratio: 3 / 4;
}
video {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.reticle {
position: absolute;
left: 50%;
top: 50%;
width: 70px;
height: 70px;
transform: translate(-50%, -50%);
border: 3px solid #fff;
border-radius: 10px;
box-shadow: 0 0 0 200vmax rgba(0, 0, 0, 0.1);
}
.controls {
display: flex;
gap: 10px;
margin-top: 12px;
flex-wrap: wrap;
}
button {
border: 0;
border-radius: 10px;
padding: 10px 14px;
background: var(--accent);
color: #fff;
font-weight: 600;
}
button:disabled {
opacity: 0.55;
}
.panel {
margin-top: 12px;
background: var(--panel);
border: 1px solid #eadfcd;
border-radius: 12px;
padding: 12px;
}
.sample-row {
display: flex;
align-items: center;
gap: 10px;
margin-top: 8px;
}
.swatch {
width: 34px;
height: 34px;
border-radius: 8px;
border: 1px solid #bbb;
}
.palette-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
gap: 8px;
}
.chip {
border-radius: 8px;
padding: 6px;
text-align: center;
font-size: 12px;
border: 1px solid #d9cfbf;
background: #fff;
}
.chip-color {
height: 26px;
border-radius: 6px;
border: 1px solid rgba(0, 0, 0, 0.15);
margin-bottom: 4px;
}
.ok {
color: var(--ok);
font-weight: 700;
}
.bad {
color: var(--bad);
font-weight: 700;
}