style: compact Sonos controls (#2)
This commit is contained in:
1 parent
11231f8d9c
commit
251fae0b53
1 file changed
+199
-1
+199
-1
@@ -1 +1,199 @@
|
||||
:root{color-scheme:dark;--bg:#0b0911;--card:#171320;--line:#30263f;--text:#f6f0ff;--muted:#a99db6;--purple:#a855f7;--pink:#ec4899;--danger:#fb7185}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#271237 0,transparent 35%),var(--bg);color:var(--text);font:16px/1.45 system-ui,sans-serif;min-height:100vh}header,main,footer{max-width:1180px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between}.eyebrow{color:var(--pink);font-size:.72rem;letter-spacing:.18em;font-weight:800;margin:0}h1{margin:.1em 0;font-size:clamp(2rem,5vw,3.6rem)}h1 span{background:linear-gradient(90deg,var(--purple),var(--pink));background-clip:text;color:transparent}h2{font-size:1.15rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}.zone,.panel{background:color-mix(in srgb,var(--card) 94%,transparent);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 12px 40px #0005}.zone-head{display:flex;justify-content:space-between;gap:12px}.state{font-size:.75rem;color:#d8b4fe}.track{min-height:48px;color:var(--muted)}button,select,input{font:inherit;color:var(--text);background:#211a2c;border:1px solid #48345e;border-radius:10px;padding:10px 14px}button{cursor:pointer;font-weight:700}button:hover,button:focus{border-color:var(--pink);box-shadow:0 0 0 2px #ec489933}.controls,.tabs,.list-row{display:flex;gap:8px;flex-wrap:wrap}.controls button{flex:1}.danger{color:var(--danger)}label{display:grid;gap:7px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--pink)}.panel{margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 2fr;gap:20px;margin-bottom:16px}fieldset{border:0;margin:0;padding:0}.checks{display:flex;gap:12px;flex-wrap:wrap}.checks label{display:flex;align-items:center}.tabs{margin:18px 0}.tabs .active,#group{background:linear-gradient(110deg,#7c3aed,var(--pink));border:0}.list-row{align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid var(--line)}.muted,footer{color:var(--muted)}#notice:not(:empty){padding:12px;margin-bottom:16px;border:1px solid var(--pink);border-radius:10px}footer{text-align:center;font-size:.85rem}@media(max-width:640px){header{align-items:flex-start;gap:14px;flex-direction:column}.form-grid{grid-template-columns:1fr}header,main,footer{padding:18px}.zone{padding:16px}}
|
||||
:root {
|
||||
color-scheme: dark;
|
||||
--bg: #0b0911;
|
||||
--card: #171320;
|
||||
--line: #30263f;
|
||||
--text: #f6f0ff;
|
||||
--muted: #a99db6;
|
||||
--purple: #a855f7;
|
||||
--pink: #ec4899;
|
||||
--danger: #fb7185;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
min-height: 100vh;
|
||||
background: radial-gradient(circle at 80% 0, #271237 0, transparent 35%), var(--bg);
|
||||
color: var(--text);
|
||||
font: 14px/1.3 system-ui, sans-serif;
|
||||
}
|
||||
|
||||
header, main, footer {
|
||||
max-width: 1180px;
|
||||
margin: auto;
|
||||
padding: 16px 24px;
|
||||
}
|
||||
|
||||
header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.eyebrow {
|
||||
margin: 0;
|
||||
color: var(--pink);
|
||||
font-size: .68rem;
|
||||
font-weight: 800;
|
||||
letter-spacing: .16em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: .05em 0;
|
||||
font-size: clamp(1.65rem, 4vw, 2.7rem);
|
||||
line-height: 1.08;
|
||||
}
|
||||
|
||||
h1 span {
|
||||
background: linear-gradient(90deg, var(--purple), var(--pink));
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: .25rem 0;
|
||||
font-size: 1rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
|
||||
gap: 11px;
|
||||
}
|
||||
|
||||
.zone, .panel {
|
||||
padding: 13px 16px;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 14px;
|
||||
background: color-mix(in srgb, var(--card) 94%, transparent);
|
||||
box-shadow: 0 8px 28px #0005;
|
||||
}
|
||||
|
||||
.zone-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
gap: 9px;
|
||||
}
|
||||
|
||||
.state {
|
||||
color: #d8b4fe;
|
||||
font-size: .68rem;
|
||||
}
|
||||
|
||||
.track {
|
||||
min-height: 32px;
|
||||
margin: 8px 0;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
button, select, input {
|
||||
min-height: 32px;
|
||||
padding: 6px 11px;
|
||||
border: 1px solid #48345e;
|
||||
border-radius: 8px;
|
||||
background: #211a2c;
|
||||
color: var(--text);
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
font-size: .86rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
button:hover, button:focus {
|
||||
border-color: var(--pink);
|
||||
box-shadow: 0 0 0 2px #ec489933;
|
||||
}
|
||||
|
||||
.controls, .tabs, .list-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.controls button { flex: 1; }
|
||||
.danger { color: var(--danger); }
|
||||
|
||||
label {
|
||||
display: grid;
|
||||
gap: 4px;
|
||||
color: var(--muted);
|
||||
font-size: .88rem;
|
||||
}
|
||||
|
||||
input[type="range"] {
|
||||
width: 100%;
|
||||
min-height: 26px;
|
||||
padding: 3px 6px;
|
||||
accent-color: var(--pink);
|
||||
}
|
||||
|
||||
.panel { margin-top: 14px; }
|
||||
|
||||
.form-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 2fr;
|
||||
gap: 14px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.checks {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.checks label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.tabs { margin: 11px 0; }
|
||||
.tabs .active, #group {
|
||||
border: 0;
|
||||
background: linear-gradient(110deg, #7c3aed, var(--pink));
|
||||
}
|
||||
|
||||
.list-row {
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 6px 8px;
|
||||
border-bottom: 1px solid var(--line);
|
||||
}
|
||||
|
||||
.muted, footer { color: var(--muted); }
|
||||
|
||||
#notice:not(:empty) {
|
||||
margin-bottom: 10px;
|
||||
padding: 8px 10px;
|
||||
border: 1px solid var(--pink);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: center;
|
||||
font-size: .76rem;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
header {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
gap: 9px;
|
||||
}
|
||||
|
||||
.form-grid { grid-template-columns: 1fr; }
|
||||
header, main, footer { padding: 12px 18px; }
|
||||
.zone { padding: 11px 14px; }
|
||||
}
|
||||
Reference in new issue
Block a user