diff --git a/app/static/style.css b/app/static/style.css index 7813998..fdb7ca7 100644 --- a/app/static/style.css +++ b/app/static/style.css @@ -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; } +}