*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#0d0f17;color:#e8e8f0}
main{max-width:820px;margin:auto;padding:16px}h1{text-align:center;color:#b78bff;margin:.5em 0}
.note{background:#1d1630;border-left:4px solid #b78bff;padding:10px;border-radius:8px}
.card{background:#161a26;border-radius:14px;padding:16px;margin:14px 0;box-shadow:0 4px 20px #0006}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
label{display:flex;flex-direction:column;font-size:.9em;gap:4px;color:#aab}
select,input,textarea{background:#0d0f17;color:#fff;border:1px solid #334;border-radius:8px;padding:10px;font-size:1em;width:100%}
textarea{font-family:inherit;line-height:1.4}.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
button{flex:1;min-width:120px;padding:12px;border:0;border-radius:10px;background:#2a3044;color:#fff;font-size:1em;cursor:pointer}
button.primary{background:linear-gradient(90deg,#7b4dff,#c03bff)}button:hover{filter:brightness(1.15)}
#favs{list-style:none;padding:0}#favs li{background:#0d0f17;padding:10px;border-radius:8px;margin:8px 0;white-space:pre-wrap;font-size:.85em}
#favs li button{min-width:70px;flex:0;padding:6px 10px;margin:6px 6px 0 0;font-size:.85em}
.msg{color:#7fffa0;min-height:1em}footer{text-align:center;padding:20px;color:#778;font-size:.85em}
