:root{--bg:#09090b;--card:#17171a;--card2:#202024;--soft:#2b2b31;--text:#fafafa;--muted:#a1a1aa;--border:#34343a;--accent:#f5f5f5;--accentText:#111}[data-theme=light]{--bg:#f5f5f7;--card:#fff;--card2:#f8f8fa;--soft:#ececef;--text:#18181b;--muted:#6e6e73;--border:#dddde2;--accent:#18181b;--accentText:#fff}[data-theme=pink]{--bg:#fff4f8;--card:#fff;--card2:#fffafd;--soft:#ffe3ee;--text:#3d1726;--muted:#936174;--border:#f1c6d7;--accent:#e84d8a;--accentText:#fff}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.primary,button{border:0;border-radius:15px;padding:13px 18px}.primary{background:var(--accent);color:var(--accentText);font-weight:700}.full{width:100%}.landing{background:#0b0b0d;color:#fff}.landing header{max-width:1180px;margin:auto;height:76px;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:700;display:flex;align-items:center;gap:10px}.brand b{width:36px;height:36px;border-radius:11px;background:#fff;color:#111;display:grid;place-items:center}.hero{max-width:1180px;margin:auto;min-height:680px;padding:70px 24px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.hero h1{font-size:clamp(54px,7vw,92px);line-height:.97;margin:20px 0}.hero em{color:#f06ba0;font-style:normal}.hero p{color:#aaa;font-size:20px;line-height:1.5}.badge{border:1px solid #34343a;border-radius:999px;padding:8px 12px;color:#aaa;font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap}.preview{background:#151518;border:1px solid #34343a;border-radius:42px;padding:24px}.ring{width:150px;height:150px;border-radius:50%;border:12px solid #e84d8a;margin:25px auto;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:48px;font-weight:700}.ring span{font-size:13px;color:#aaa}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tiles div{background:#222228;padding:14px;border-radius:16px;color:#999}.tiles b{display:block;color:#fff;margin-top:5px}.features{max-width:1180px;margin:auto;padding:70px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.features article,.cta{background:#151518;border:1px solid #303036;border-radius:24px;padding:24px}.features article>b{font-size:24px}.features p,.cta p{color:#999}.cta{max-width:1132px;margin:0 auto 70px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#1d1d22,#29131d)}footer{max-width:1180px;margin:auto;padding:30px 24px;border-top:1px solid #29292e;display:flex;justify-content:space-between;color:#777}.modal{position:fixed;inset:0;background:#000c;display:none;place-items:center;padding:18px}.modal.open{display:grid}.modal form{width:min(500px,100%);background:#17171a;border:1px solid #34343a;border-radius:26px;padding:24px;display:grid;gap:12px}.modal form>button:first-child{justify-self:end;background:none;color:#aaa;font-size:28px}.modal input,.auth input,.app input,.app select{width:100%;padding:13px;border-radius:14px;border:1px solid var(--border);background:var(--card2);color:var(--text)}.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.alert{position:fixed;top:90px;left:50%;transform:translateX(-50%);background:#5b1626;padding:12px 18px;border-radius:14px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.onboarding{width:min(680px,100%);background:var(--card);border:1px solid var(--border);border-radius:28px;padding:30px;display:grid;gap:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app{padding-bottom:82px}.shell{max-width:760px;margin:auto;padding:18px 14px}.apphead{display:flex;justify-content:space-between;align-items:center;position:relative}.apphead small{color:var(--muted)}.apphead h1{font-size:23px}.apphead>button{width:44px;height:44px;border-radius:50%;background:var(--card);color:var(--text);border:1px solid var(--border)}.menu{display:none;position:absolute;right:0;top:70px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px;min-width:220px;z-index:5}.menu.open{display:grid;gap:5px}.menu span{color:var(--muted);font-size:13px}.screen{display:none;gap:14px}.screen.active{display:grid}.score,.card,.metrics article,.summary article{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:17px}.score{text-align:center}.score #ring{width:154px;height:154px;border-radius:50%;margin:auto;display:grid;place-items:center;background:conic-gradient(var(--accent) 36deg,var(--soft) 0)}#ring strong{font-size:42px}#ring span{display:block;color:var(--muted)}.score p,.screen>p{color:var(--muted)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:11px}.metrics span,.summary span{display:block;color:var(--muted);font-size:13px}.metrics b,.summary b{display:block;margin-top:6px;font-size:20px}.between{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.progress{height:10px;background:var(--soft);border-radius:99px;overflow:hidden;margin:14px 0}.progress i{display:block;height:100%;background:var(--accent)}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.form{display:grid;gap:10px}.inline{display:grid;grid-template-columns:1fr auto;gap:9px}.row,.tx,.adminrow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:13px 0}.row:last-child,.tx:last-child,.adminrow:last-child{border-bottom:0}.row>span{display:flex;gap:10px;align-items:center}.row input{width:21px;height:21px}.row small,.tx span{color:var(--muted);font-size:12px}.tx span{display:block;margin-top:4px}.chart{height:230px;display:flex;gap:10px;align-items:end}.chart>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px}.chart i{width:100%;max-width:35px;background:var(--accent);border-radius:12px 12px 4px 4px}.chart span,.chart small{font-size:12px;color:var(--muted)}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:var(--bg);border-top:1px solid var(--border);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}nav button{background:transparent;color:var(--muted);font-size:12px;padding:10px 2px}nav button.active{background:var(--soft);color:var(--text)}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 14px;border-radius:99px;opacity:0}.toast.show{opacity:1}.admin{background:#0b0b0d;color:#fff;padding:25px}.admin main{max-width:900px;margin:auto}.admin .summary{margin:20px 0}.adminrow span{color:#aaa;font-size:13px}@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:35px}.hero h1{font-size:54px}.features{grid-template-columns:1fr 1fr}.cta{margin:0 16px 50px;display:grid}.summary{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.themes{grid-template-columns:1fr}footer{display:grid;gap:8px}}

/* v0.4 polish */
.landing{background:radial-gradient(circle at 74% 20%,rgba(232,77,138,.11),transparent 30%),radial-gradient(circle at 16% 38%,rgba(95,105,220,.07),transparent 26%),#08080a;overflow-x:hidden}
.landing header{position:sticky;top:0;z-index:20;height:82px;background:linear-gradient(to bottom,rgba(8,8,10,.92),rgba(8,8,10,.60));backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.05)}
.landing header button{border-radius:999px}.brand{letter-spacing:-.02em}
.hero{min-height:760px!important;grid-template-columns:1.08fr .92fr!important;gap:86px!important;padding-top:82px!important;padding-bottom:110px!important}
.hero h1{font-size:clamp(66px,7vw,106px)!important;letter-spacing:-.075em!important;line-height:.9!important;margin:26px 0 26px!important}
.hero h1 em{background:linear-gradient(135deg,#ff85b7 0%,#e84d8a 56%,#c23870 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:20px!important;line-height:1.55!important;letter-spacing:-.02em;max-width:650px;color:#a7a7af!important}
.hero .badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.035);padding:9px 13px}
.hero .badge:before{content:'';width:7px;height:7px;border-radius:50%;background:#e84d8a;box-shadow:0 0 0 5px rgba(232,77,138,.10)}
.actions{margin-top:32px!important;gap:12px!important}.actions button{padding:16px 23px!important;border-radius:999px!important}.actions button:not(.primary){background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff}
.hero small{display:block;margin-top:14px;color:#777780}
.preview{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(27,27,32,.98),rgba(14,14,17,.98))!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:32px!important;padding:28px!important;box-shadow:0 55px 130px rgba(0,0,0,.58);transform:perspective(1100px) rotateY(-3deg) rotateX(1deg)}
.preview:before{content:'Сегодня';display:block;color:#777780;font-size:11px;text-align:center;border-bottom:1px solid rgba(255,255,255,.07);margin:-8px -8px 22px;padding-bottom:14px}
.preview h3{font-size:24px;margin:0 0 22px}.ring{width:162px!important;height:162px!important;border-width:11px!important;box-shadow:0 0 42px rgba(232,77,138,.13)}
.tiles{gap:12px!important}.tiles div{background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.05);padding:15px!important}.tiles b{font-size:16px}
.features{padding-top:120px!important;padding-bottom:110px!important;gap:16px!important}.features article{min-height:270px;position:relative;overflow:hidden;transition:.25s ease;background:linear-gradient(160deg,#17171b,#121215)!important}.features article:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.16)}.features article:after{content:'';position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(232,77,138,.055);right:-70px;bottom:-70px}.features article>b{width:46px;height:46px;border-radius:15px;background:#24242a;display:grid;place-items:center}.features h3{font-size:21px;margin-top:28px;letter-spacing:-.03em}.features p{font-size:14px!important;line-height:1.55!important}
.cta{min-height:280px!important;padding:48px 52px!important;margin-bottom:110px!important;background:radial-gradient(circle at 90% 10%,rgba(255,116,172,.18),transparent 32%),linear-gradient(135deg,#19191e,#21101a)!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:0 40px 90px rgba(0,0,0,.25)}.cta h2{font-size:clamp(40px,4vw,62px);letter-spacing:-.055em;line-height:1;margin:18px 0}.cta button{border-radius:999px!important;padding:16px 24px!important}
footer{padding-top:36px!important;padding-bottom:46px!important}
.modal form{box-shadow:0 40px 100px rgba(0,0,0,.58);border-color:rgba(255,255,255,.11)!important}.modal input{padding:15px!important}.modal .primary{padding:15px!important;border-radius:999px!important}
@media(max-width:960px){.hero{grid-template-columns:1fr!important;gap:54px!important}.preview{transform:none;max-width:540px}.features{grid-template-columns:1fr 1fr!important}}
@media(max-width:680px){.landing header{height:72px!important}.hero{padding-top:46px!important;padding-bottom:70px!important}.hero h1{font-size:56px!important}.hero p{font-size:17px!important}.actions{display:grid!important}.actions button{width:100%}.preview{border-radius:25px!important}.features{grid-template-columns:1fr!important;padding-top:75px!important}.features article{min-height:235px}.cta{margin:0 14px 55px!important;padding:32px 24px!important;display:grid!important}footer{display:grid!important;gap:14px!important}}


/* === v0.4.1 mobile header and hero fix === */
@media (max-width: 680px) {
  .landing header {
    width: 100%;
    min-height: 72px;
    height: auto !important;
    padding: 12px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .landing header .brand {
    min-width: 0;
    flex: 1 1 auto;
    gap: 9px;
    font-size: 17px;
    line-height: 1.05;
    white-space: nowrap;
  }

  .landing header .brand b {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 13px;
  }

  .landing header > div:last-child {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
  }

  /* В мобильной шапке оставляем одну главную кнопку.
     Вход остается полноценной кнопкой ниже в hero-блоке. */
  .landing header > div:last-child > button:first-child {
    display: none !important;
  }

  .landing header > div:last-child > .primary {
    width: auto !important;
    max-width: 172px;
    min-height: 44px;
    padding: 10px 14px !important;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.12;
    white-space: normal;
    text-align: center;
  }

  .landing .hero {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .landing .hero h1 {
    max-width: 100%;
    font-size: clamp(48px, 14vw, 58px) !important;
    line-height: .98 !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  .landing .hero p {
    max-width: 100%;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .landing .actions {
    width: 100%;
    gap: 10px !important;
  }

  .landing .actions button {
    width: 100% !important;
    min-height: 54px;
    padding: 14px 16px !important;
    font-size: 16px;
    line-height: 1.2;
    white-space: normal;
  }

  .landing .preview {
    width: 100%;
    padding: 22px 18px !important;
    overflow: hidden;
  }
}

@media (max-width: 390px) {
  .landing header {
    padding-left: 12px !important;
    padding-right: 12px !important;
    gap: 8px !important;
  }

  .landing header .brand {
    font-size: 15px;
  }

  .landing header .brand b {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .landing header > div:last-child > .primary {
    max-width: 148px;
    padding: 9px 11px !important;
    font-size: 12px;
  }

  .landing .hero h1 {
    font-size: 47px !important;
  }
}
