/* style.css — полные стили приложения */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body,#root{height:100%}
:root{
  --bg:#030b18;--bg2:#050f22;--bg3:#081628;
  --card:rgba(4,14,32,0.96);
  --c:#00c8e8;--ch:#40e4ff;
  --cd:rgba(0,200,232,0.10);--cg:rgba(0,200,232,0.22);
  --steel:#0d4866;
  --txt:#b4ccde;--td:#6090aa;--dim:#445868;--dmr:#263445;
  --brd:rgba(0,200,232,0.16);--brd2:rgba(0,200,232,0.06);
  --shd:0 8px 48px rgba(0,0,0,0.80);
  --red:#e04040;--grn:#24bb78;--org:#e08040;--ylw:#e8c840;--purple:#9060c8;
}
html.night{
  --bg:#080000;--bg2:#0d0000;--bg3:#150002;
  --card:rgba(14,0,0,0.96);
  --c:#cc2828;--ch:#e05050;
  --cd:rgba(200,40,40,0.10);--cg:rgba(200,40,40,0.22);
  --steel:#6a1618;
  --txt:#bb4848;--td:#883838;--dim:#5a2828;--dmr:#301818;
  --brd:rgba(200,40,40,0.22);--brd2:rgba(200,40,40,0.07);
  --red:#dd1818;--grn:#6a1818;--org:#882828;--ylw:#882c2c;--purple:#882828;
}
body{background:var(--bg);color:var(--txt);font-family:'Inter',sans-serif;transition:background .6s,color .6s;overflow-x:hidden}

/* Глобальный скроллбар */
::selection{background:var(--cd)}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--steel);border-radius:3px}

@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes tw{0%,100%{opacity:var(--op,.7)}50%{opacity:calc(var(--op,.7)*.08)}}
@keyframes cardIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes glow{0%,100%{box-shadow:0 0 8px var(--cg)}50%{box-shadow:0 0 28px var(--cg),0 0 56px var(--cd)}}
@keyframes toast{0%{opacity:0;transform:translateX(-50%) translateY(20px)}15%{opacity:1;transform:translateX(-50%) translateY(0)}85%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(20px)}}

.app{position:relative;min-height:100vh}
.content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 16px 120px}
.starfield{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.star{position:absolute;border-radius:50%;background:#fff;animation:tw var(--dur,3s) var(--del,0s) infinite;transition:background .6s}
html.night .star{background:#7a1a1a !important;opacity:.4}
.nebula{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 55% 35% at 12% 22%,rgba(0,140,200,.06) 0%,transparent 60%),
    radial-gradient(ellipse 45% 55% at 85% 78%,rgba(70,18,180,.04) 0%,transparent 60%),
    radial-gradient(ellipse 70% 40% at 50% 4%,rgba(0,200,232,.03) 0%,transparent 50%);transition:background .6s}
html.night .nebula{background:radial-gradient(ellipse 55% 35% at 12% 22%,rgba(110,18,18,.06) 0%,transparent 60%)}

.header{position:sticky;top:0;z-index:50;backdrop-filter:blur(24px) saturate(150%);
  background:rgba(3,11,24,.87);border-bottom:1px solid var(--brd2);padding:9px 16px;
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;transition:background .5s}
html.night .header{background:rgba(8,0,0,.90)}
.logo{font-family:'Orbitron',sans-serif;font-size:1.15rem;font-weight:900;letter-spacing:.18em;
  color:var(--c);text-shadow:0 0 18px var(--cg);white-space:nowrap;text-transform:uppercase;
  user-select:none;display:flex;align-items:center;gap:7px; margin-right: 5px;}
.wchip{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;
  border:1px solid var(--brd2);background:var(--cd);font-size:.71rem;color:var(--td);
  cursor:pointer;transition:all .2s;white-space:nowrap}
.wchip:hover{border-color:var(--brd);color:var(--txt);background:var(--cg)}
.chipv{color:var(--txt);font-weight:500;margin-left:1px}
.hsep{flex:1;min-width:0}
.hbtn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;
  border:1px solid var(--brd);background:var(--cd);color:var(--txt);font-size:.72rem;
  cursor:pointer;transition:all .2s;white-space:nowrap;font-family:'Inter',sans-serif}
.hbtn:hover{border-color:var(--c);background:var(--cg)}
.hbtn-txt { display: inline; } /* Для сокрытия текста на телефонах */

/* Плашка день/ночь */
.day-banner { display: flex; align-items: center; gap: 14px; background: rgba(232, 200, 64, 0.12); border: 1px solid rgba(232, 200, 64, 0.3); border-radius: 14px; padding: 14px 18px; margin-bottom: 16px; color: var(--txt); font-size: 0.88rem; line-height: 1.5; font-weight: 500; animation: fadeIn 0.4s ease; }
html.night .day-banner { background: rgba(200, 40, 40, 0.12); border-color: rgba(200, 40, 40, 0.3); }
.day-banner svg { flex-shrink: 0; }

/* Живое время и кнопка обновления */
.live-time { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--c); display: flex; align-items: center; gap: 10px; letter-spacing: 0.05em; }
.btn-refresh { background: var(--cd); border: 1px solid var(--brd2); color: var(--txt); border-radius: 50%; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; }
.btn-refresh:hover { border-color: var(--c); color: var(--c); background: var(--cg); transform: rotate(180deg); }

/* Возвращаем плашки с погодой (.conds) */
.conds-wrapper { display: flex; gap: 8px; align-items: center; overflow-x: auto; padding: 18px 0 6px; scrollbar-width: none; }
.conds-wrapper::-webkit-scrollbar { display: none; }
.btn-weather-main { display: flex; align-items: center; gap: 8px; background: var(--cd); border: 1px solid var(--brd); color: var(--txt); border-radius: 14px; padding: 10px 16px; font-size: 0.85rem; font-weight: 500; cursor: pointer; transition: all 0.2s; flex-shrink: 0; }
.btn-weather-main:hover { border-color: var(--c); background: var(--cg); }
.ccard{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--brd2);
  border-radius:14px;padding:10px 14px;flex-shrink:0;min-width:110px;cursor:pointer;transition:all .2s}
.ccard:hover{border-color:var(--brd)}
.cico{flex-shrink:0;color:var(--c)}
.cinfo{display:flex;flex-direction:column}
.clbl{font-size:.63rem;color:var(--dim);text-transform:uppercase;letter-spacing:.08em}
.cval{font-size:.82rem;font-weight:500;margin-top:2px}
.good{color:var(--grn)}.ok{color:var(--ylw)}.bad{color:var(--red)}.neu{color:var(--txt)}

/* Возвращаем старую верхушку (поиск, фильтры, сортировка) */
.shead{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px;gap:10px;flex-wrap:wrap}
.stit{font-family:'Orbitron',sans-serif;font-size:.9rem;font-weight:800;letter-spacing:.12em;color:var(--txt);text-transform:uppercase}
.scnt{font-size:.72rem;color:var(--dim);font-family:'JetBrains Mono',monospace;margin-left:8px;}
.sort-row{display:flex;align-items:center;gap:12px;flex-shrink:0; flex-wrap: wrap;}
.sort-lbl{display:flex;align-items:center;justify-content:center;color:var(--dim);}

.sbr{position:relative;margin-bottom:14px; width: 100%;}
.sbr input{width:100%;background:rgba(0,200,232,0.05);border:1px solid var(--brd2);border-radius:12px;
  outline:none;color:var(--txt);font-family:'Inter',sans-serif;font-size:.84rem;padding:11px 14px 11px 36px;transition:border-color .2s}
.sbr input:focus{border-color:var(--brd)}
.sbr input::placeholder{color:var(--dim)}
.sbrico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}

.fbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.fchip{padding:6px 14px;border-radius:20px;font-size:.75rem;font-family:'Inter',sans-serif;
  border:1px solid var(--brd2);background:transparent;color:var(--td);cursor:pointer;transition:all .18s}
.fchip:hover{border-color:var(--brd);color:var(--txt)}
.fchip.on{border-color:var(--c);background:var(--cd);color:var(--c)}

/* Св��и выпадающие списки (Custom Select) для сортировки */
.c-sel { position: relative; font-family: 'Inter', sans-serif; font-size: 0.75rem; user-select: none; min-width: 170px; }
.c-sel-head { background: rgba(0,200,232,0.05); border: 1px solid var(--brd2); color: var(--txt); padding: 7px 12px; border-radius: 12px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; transition: border-color 0.2s; }
.c-sel-head:hover { border-color: var(--brd); }
.c-sel-body { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--card); border: 1px solid var(--brd); border-radius: 10px; overflow: hidden; z-index: 999; display: flex; flex-direction: column; max-height: 200px; overflow-y: auto; box-shadow: var(--shd); }
.c-sel-item { padding: 8px 12px; cursor: pointer; color: var(--td); transition: all 0.2s; }
.c-sel-item:hover, .c-sel-item.on { background: var(--cd); color: var(--c); }

.etgl{display:flex;gap:3px;background:rgba(0,200,232,0.05);border:1px solid var(--brd2);border-radius:20px;padding:3px; flex-shrink: 0;}
.ebtn{padding:5px 12px;border-radius:18px;font-size:.7rem;text-align:center;border:none;
  background:none;color:var(--dim);cursor:pointer;transition:all .18s;font-family:'Inter',sans-serif;}
.ebtn.on{background:var(--c);color:#000;font-weight:600;box-shadow:0 0 10px var(--cg)}

/* Карточки объектов */
.ogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px}
.ocard{background:var(--card);border:1px solid var(--brd2);border-radius:20px;overflow:hidden;
  cursor:pointer;transition:all .25s;animation:cardIn .42s ease both;box-shadow:var(--shd);position:relative}
.ocard:hover{border-color:var(--brd);transform:translateY(-4px);box-shadow:0 14px 52px rgba(0,0,0,.85),0 0 18px var(--cd)}
.ocphoto{width:100%;height:175px;object-fit:cover;display:block;transition:filter 0.5s}
.ocphoto-solar-wrap{width:100%;height:175px;background:#000;display:flex;align-items:center;justify-content:center;}
.ocphoto.solar{width:100%;height:100%;object-fit:contain;object-position:center center;background:#000;}
.ocphph{width:100%;height:175px;background:var(--bg3);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;position:relative;overflow:hidden}

/* Ночной режим: красим все изображения в красный */
html.night img { filter: grayscale(100%) sepia(100%) hue-rotate(315deg) saturate(500%) brightness(0.8); }

.ocbody{padding:13px 15px 15px}
.ochdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}
.ocname{font-family:'Orbitron',sans-serif;font-size:.9rem;font-weight:700;color:var(--txt)}
.occat{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.ocmag{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--dim)}
.ocpos{display:flex;gap:10px;margin-bottom:6px;font-size:.77rem;flex-wrap:wrap}
.ocpl{color:var(--dim)}.ocpv{color:var(--txt);font-family:'JetBrains Mono',monospace}
.ocbest{font-size:.72rem;color:var(--td);margin-bottom:8px;display:flex;align-items:center;gap:5px}

/* Плашка лучший со свечением */
.ocrank{position:absolute;top:10px;left:10px;background:var(--c);color:#030b18;
  font-family:'Orbitron',sans-serif;font-size:.58rem;font-weight:800;padding:3px 8px;border-radius:10px;letter-spacing:.06em;
  box-shadow: 0 0 12px rgba(0, 200, 232, 0.8);}

.ocblow{position:absolute;top:10px;left:10px;background:rgba(60,60,80,.85);color:var(--dim);
  font-family:'Orbitron',sans-serif;font-size:.55rem;font-weight:700;padding:3px 8px;border-radius:10px;letter-spacing:.06em}
.ocev{position:absolute;background:linear-gradient(135deg,#e08040,#e8c840);color:#050a00;
  font-family:'Orbitron',sans-serif;font-size:.52rem;font-weight:800;padding:3px 8px;border-radius:10px;letter-spacing:.06em}
html.night .ocev{background:linear-gradient(135deg,var(--org),var(--red));color:#050000}
.inactive-badge{position:absolute;top:10px;left:10px;background:rgba(40,40,50,.85);color:var(--dim);
  font-size:.52rem;padding:3px 8px;border-radius:10px;font-family:'JetBrains Mono',monospace}

.ocard-etgl{display:flex;gap:3px;margin:8px 0;background:var(--bg3);border-radius:10px;padding:3px}
.ocard-ebtn{flex:1;padding:5px 2px;border-radius:7px;font-size:.66rem;text-align:center;border:none;
  background:none;color:var(--dim);cursor:pointer;transition:all .18s;font-family:'Inter',sans-serif;
  display:flex;align-items:center;justify-content:center;gap:3px}
.ocard-ebtn.on{background:var(--cd);color:var(--c);border:1px solid var(--brd)}

.ocdsc{font-size:.77rem;color:var(--td);line-height:1.65;margin-bottom:10px;min-height:50px}
.minich{width:100%;height:38px;margin-bottom:8px;overflow:visible}
.oclinks{display:flex;gap:6px;flex-wrap:wrap}
.oclink{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.67rem;
  border:1px solid var(--brd2);color:var(--td);text-decoration:none;transition:all .18s}
.oclink:hover{border-color:var(--c);color:var(--c);background:var(--cd)}

.wwarn{display:flex;gap:10px;align-items:flex-start;background:rgba(200,80,0,.09);border:1px solid rgba(200,80,0,.2);
  border-radius:12px;padding:12px 15px;font-size:.78rem;color:var(--td);margin:10px 0 12px;line-height:1.55}
html.night .wwarn{background:rgba(100,10,0,.12);border-color:rgba(150,20,20,.2)}
.empty{text-align:center;padding:60px 20px;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:.88rem}

/* SCROLLBAR FIXES FOR MODALS */
.moin::-webkit-scrollbar-track, .wtin::-webkit-scrollbar-track, .planin::-webkit-scrollbar-track, .setin::-webkit-scrollbar-track { margin: 20px 0; background: transparent; }

/* MODALS */
.planpop{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}
.planin{background:var(--bg2);border:1px solid var(--brd);border-radius:22px;
  width:100%;max-width:540px;padding:24px 20px 24px;max-height:85vh;overflow-y:auto;}
.planhdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.plantit{font-family:'Orbitron',sans-serif;font-size:.78rem;color:var(--c);letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.plancls{width:28px;height:28px;border-radius:50%;border:1px solid var(--brd);background:var(--cd);
  color:var(--txt);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}

.plan-card { display: flex; align-items: center; justify-content: space-between; background: rgba(0,200,232,0.03); border: 1px solid var(--brd2); border-radius: 14px; padding: 12px 16px; margin-bottom: 8px; flex-wrap: wrap; gap: 10px; }
.plan-card.today { border-color: var(--c); background: rgba(0,200,232,0.08); }
.pc-date { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--txt); width: 90px; flex-shrink: 0; line-height: 1.4; }
.pc-stats { display: flex; gap: 12px; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--dim); flex: 1; min-width: 100px; }
.pc-stats span { display: flex; align-items: center; gap: 4px; }
.pc-stats .moon-ic { color: var(--ylw); }
.pc-alt { display: flex; flex-direction: column; align-items: flex-end; width: 100px; flex-shrink: 0; gap: 6px; }
.pc-alt-val { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--grn); }
.pc-bar-bg { width: 100%; height: 4px; background: var(--dmr); border-radius: 2px; }
.pc-bar-fill { height: 100%; border-radius: 2px; transition: width 0.5s; }

.wtpop{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.75);backdrop-filter:blur(12px);
  display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}
.wtin{background:var(--bg2);border:1px solid var(--brd);border-radius:22px;width:100%;max-width:540px;max-height:88vh;padding:24px;overflow-y:auto;}
.wthdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.wttit{font-family:'Orbitron',sans-serif;font-size:.8rem;color:var(--c);letter-spacing:.1em;text-transform:uppercase}
.wtgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}
.wtstat{background:var(--bg3);border:1px solid var(--brd2);border-radius:12px;padding:10px 14px}
.wtslbl{font-size:.6rem;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:5px;margin-bottom:4px}
.wtsval{font-size:.9rem;font-weight:500;display:block;font-family:'JetBrains Mono',monospace}
.wtsec{margin-bottom:14px}
.wtstit{font-family:'Orbitron',sans-serif;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--c);margin-bottom:8px}

.wt-14d-list { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.wt-14d-row { display: flex; align-items: center; justify-content: space-between; padding: 12px; background: rgba(0,200,232,0.03); border: 1px solid var(--brd2); border-radius: 12px; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--txt); }
.w14-date { width: 80px; color: var(--td); }
.w14-temp { width: 60px; text-align: center; color: var(--dim); }
.w14-extra { flex: 1; color: var(--td); font-size: 0.65rem; display: flex; gap: 10px; align-items: center; }
.w14-cloud, .w14-moon { display: flex; align-items: center; gap: 5px; width: 60px; justify-content: flex-end; }
.w14-moon { color: var(--ylw); }

.movl{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.85);backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .22s ease}
.moin{background:var(--bg2);border:1px solid var(--brd);border-radius:22px;width:100%;max-width:580px;max-height:92vh;overflow-y:auto;position:relative;}
.mophoto{width:100%;height:230px;object-fit:cover;border-radius:22px 22px 0 0;display:block;transition:filter 0.5s}
.mophph{width:100%;height:230px;border-radius:22px 22px 0 0;background:var(--bg3);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.mobody{padding:20px 22px 26px}
.mohdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.moname{font-family:'Orbitron',sans-serif;font-size:1.25rem;font-weight:800;color:var(--txt)}
.mocat{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-top:4px}
.mocls{width:30px;height:30px;border-radius:50%;border:1px solid var(--brd);background:var(--cd);
  color:var(--txt);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0}
.mocls:hover{border-color:var(--c);color:var(--c)}
.mostats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.mostat{background:var(--bg3);border:1px solid var(--brd2);border-radius:12px;padding:10px 12px}
.moslbl{font-size:.6rem;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:3px}
.mosval{font-size:.88rem;font-weight:500;color:var(--txt);display:block;font-family:'JetBrains Mono',monospace}
.mosec{margin-bottom:15px}
.mostit{font-family:'Orbitron',sans-serif;font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:var(--c);margin-bottom:7px}
.motxt{font-size:.83rem;color:var(--td);line-height:1.74}
.mofacts{list-style:none}
.mofacts li{padding:4px 0;font-size:.81rem;color:var(--td);display:flex;gap:8px;line-height:1.5}
.mofacts li::before{content:'▸';color:var(--c);flex-shrink:0}
.moetgl{display:flex;gap:5px;margin-bottom:10px}
.moebtn{flex:1;padding:8px;border-radius:10px;font-size:.74rem;text-align:center;border:1px solid var(--brd2);
  background:none;color:var(--dim);cursor:pointer;transition:all .18s;font-family:'Inter',sans-serif;
  display:flex;align-items:center;justify-content:center;gap:5px}
.moebtn.on{background:var(--cd);color:var(--c);border-color:var(--brd);box-shadow:0 0 10px var(--cg)}
.molinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.molink{display:flex;align-items:center;gap:6px;padding:8px 15px;border-radius:20px;font-size:.76rem;
  border:1px solid var(--brd);color:var(--txt);text-decoration:none;transition:all .18s;background:var(--cd);cursor:pointer}
.molink:hover{border-color:var(--c);color:var(--c)}
.altsvg{width:100%;height:72px;margin:8px 0;overflow:visible}

.setpop{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.8);backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}
.setin{background:var(--bg2);border:1px solid var(--brd);border-radius:22px;width:100%;max-width:480px;max-height:88vh;padding:24px;overflow-y:auto;}
.sethdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.settit{font-family:'Orbitron',sans-serif;font-size:.85rem;color:var(--c);letter-spacing:.12em;text-transform:uppercase}
.setgroup{margin-bottom:18px}
.setgrptit{font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--dim);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--brd2)}
.setrow{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--brd2); gap: 10px;}
.setrow:last-child{border-bottom:none}
.setlbl{font-size:.84rem;color:var(--txt)}
.setsub{font-size:.72rem;color:var(--dim);margin-top:2px}
.toggle{width:40px;height:22px;background:var(--bg3);border:1px solid var(--brd2);border-radius:11px;
  cursor:pointer;position:relative;transition:all .3s;flex-shrink:0}
.toggle.on{background:var(--c)}
.toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;
  border-radius:50%;background:#fff;transition:left .3s}
.toggle.on::after{left:20px}
.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--card);
  border:1px solid var(--brd);border-radius:20px;padding:10px 20px;font-size:.8rem;color:var(--txt);
  animation:toast 2.8s ease forwards;z-index:9999;display:flex;align-items:center;gap:8px;
  box-shadow:0 4px 24px rgba(0,0,0,.6);white-space:nowrap;pointer-events:none}

.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:100vh;text-align:center;padding:40px 20px;gap:22px;position:relative;z-index:2}
.wlabel{font-family:'JetBrains Mono',monospace;font-size:.63rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--c);opacity:.8;animation:rise .7s ease both}
.wtitle{font-family:'Orbitron',sans-serif;font-size:clamp(3.5rem,10vw,6rem);font-weight:900;
  line-height:1;letter-spacing:.08em;color:var(--txt);text-shadow:0 0 40px var(--cg);animation:rise .7s .1s ease both}
.wtitle span{color:var(--c)}
.wsub{color:var(--td);font-size:.88rem;max-width:400px;line-height:1.82;animation:rise .7s .2s ease both}
.wacts{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px;animation:rise .7s .3s ease both}
.btn1{background:linear-gradient(135deg,var(--c) 0%,var(--ch) 50%,var(--c) 100%);background-size:200% auto;
  color:#030b18;border:none;border-radius:30px;padding:13px 32px;font-size:.88rem;font-weight:600;
  cursor:pointer;transition:all .25s;font-family:'Inter',sans-serif;letter-spacing:.05em;
  display:flex;align-items:center;gap:8px;box-shadow:0 0 22px var(--cg)}
.btn1:hover{background-position:right center;box-shadow:0 0 38px var(--cg);transform:translateY(-1px)}
.sbox{background:var(--bg3);border:1px solid var(--brd);border-radius:16px;overflow:hidden;width:100%;max-width:440px}
.sinput{width:100%;background:none;border:none;outline:none;color:var(--txt);font-family:'Inter',sans-serif;font-size:.93rem;padding:14px 18px;display:block}
.suggs{border-top:1px solid var(--brd2)}
.suggitem{padding:11px 18px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--brd2);font-size:.84rem;text-align:left}
.suggitem:hover{background:var(--cd)}
.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:18px}
.loader{width:46px;height:46px;border-radius:50%;border:2px solid var(--brd2);border-top-color:var(--c);animation:spin .8s linear infinite}
.ltxt{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--c);letter-spacing:.12em}

@media(max-width:600px){
  .ogrid{grid-template-columns:1fr!important}
  .mostats{grid-template-columns:repeat(2,1fr)}
  .wtitle{font-size:3.5rem}
  .logo{font-size:.88rem; margin-right: 2px;}
  .header{padding:7px 12px;gap:5px}
  .wchip{padding:4px 8px;font-size:.66rem}
  
  /* Прячем текст у кнопок шапки и выравниваем по центру */
  .hbtn-txt{display:none}
  .hbtn{padding:6px 8px;justify-content:center}
  
  /* Скрываем дублирующуюся кнопку погоды */
  .btn-weather-main{display:none !important}
  
  /* Растягиваем фильтры на весь экран */
  .fbar{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
  .fchip{flex:1 1 calc(33% - 6px);text-align:center;padding:7px 2px;font-size:.7rem}
  
  .wtgrid{grid-template-columns:1fr}
  
  .plan-card { flex-direction: column; align-items: flex-start; gap: 12px; }
  .pc-stats { width: 100%; justify-content: flex-start; gap: 20px; }
  .pc-alt { width: 100%; align-items: flex-start; }
  
  .wt-14d-row { flex-direction: column; align-items: flex-start; gap: 8px; }
  .w14-temp { width: auto; text-align: left; }
  .w14-extra { width: 100%; }
  .w14-cloud, .w14-moon { justify-content: flex-start; }
  
  .shead { flex-direction: column; align-items: flex-start; }
  .sort-row { width: 100%; }
  .c-sel { width: 100%; min-width: unset; }
}