:root{
  --brand-green:#1f9d63;
  --brand-green-dark:#0d6b43;
  --brand-green-soft:#d9f6e7;
  --brand-gold:#f3c95a;
  --brand-ink:#0f172a;
  --brand-muted:#5b6475;
  --brand-bg:#f4f8f5;
  --brand-card:rgba(255,255,255,.78);
  --brand-border:rgba(31,157,99,.14);
  --brand-shadow:0 20px 55px rgba(15,23,42,.08);
  --radius-xl:30px;
  --radius-lg:22px;
  --radius-md:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at top left, rgba(31,157,99,.10), transparent 28%),
    radial-gradient(circle at top right, rgba(243,201,90,.12), transparent 18%),
    linear-gradient(180deg,#f8fbf9 0%,#eef4f0 100%);
  color:var(--brand-ink);
  padding-top:98px;
  min-height:100vh;
}
img{max-width:100%}
a{text-decoration:none}
.app-nav{
  position:fixed;top:0;left:0;right:0;z-index:1030;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.55);
  box-shadow:0 10px 35px rgba(15,23,42,.04);
  transition:transform .28s ease, box-shadow .28s ease;
}
.app-nav.nav-hidden{transform:translateY(-115%)}
.navbar>.container{align-items:center}
.navbar-brand{padding:0;transition:transform .25s ease}
.navbar-brand:hover{transform:translateY(-2px)}
.brand-logo{height:72px;width:auto;display:block;filter:drop-shadow(0 10px 22px rgba(31,157,99,.12))}
.navbar-toggler{background:#fff;border-radius:14px;padding:.45rem .7rem;box-shadow:var(--brand-shadow)}
.navbar-toggler:focus{box-shadow:0 0 0 .18rem rgba(31,157,99,.18)}
.nav-link{
  color:var(--brand-ink);font-weight:600;border-radius:999px;
  padding:.65rem .95rem !important;transition:all .25s ease;
}
.nav-link:hover,.nav-link.active{
  color:var(--brand-green-dark)!important;
  background:rgba(31,157,99,.10);
  transform:translateY(-1px);
}
.btn{
  border-radius:18px;
  font-weight:700;
  transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-success{
  background:linear-gradient(135deg,var(--brand-green) 0%, var(--brand-green-dark) 100%);
  border-color:transparent;
  box-shadow:0 12px 28px rgba(31,157,99,.25);
}
.btn-success:hover{box-shadow:0 16px 36px rgba(31,157,99,.32)}
.btn-outline-success:hover,.btn-outline-warning:hover,.btn-outline-danger:hover{
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}
.scroll-top-btn{
  position:fixed;right:18px;bottom:18px;z-index:1200;
  width:40px;height:40px;border:none;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(180deg,var(--brand-green) 0%, var(--brand-green-dark) 100%);
  color:#fff;font-size:16px;font-weight:900;
  box-shadow:0 12px 24px rgba(31,157,99,.28);
  opacity:0;pointer-events:none;transform:translateY(10px) scale(.92);
  transition:all .22s ease;
}
.scroll-top-btn.show{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.scroll-top-btn:hover{transform:translateY(-2px) scale(1.06)}

.app-card,.summary-card,.setup-card,.login-card,.feature-card,.mini-feature-card,.screen-card,.screen-mockup,.pricing-cta,.feature-inline-card,.value-page-card{
  background:var(--brand-card);
  border:1px solid rgba(255,255,255,.7);
  backdrop-filter:blur(12px);
  border-radius:var(--radius-xl);
  box-shadow:var(--brand-shadow);
}
.app-card,.summary-card,.feature-card,.mini-feature-card,.screen-card,.screen-mockup,.feature-inline-card{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.app-card:hover,.summary-card:hover,.feature-card:hover,.mini-feature-card:hover,.screen-card:hover,.screen-mockup:hover,.feature-inline-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 60px rgba(15,23,42,.11);
  border-color:rgba(31,157,99,.22);
}
.summary-card{
  padding:1.15rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;
  background:linear-gradient(180deg,rgba(255,255,255,.9) 0%, rgba(249,252,250,.74) 100%);
}
.summary-card span{color:var(--brand-muted);font-size:.95rem}
.summary-card strong{font-size:1.55rem;color:var(--brand-ink)}
.summary-card.saving{background:linear-gradient(135deg,rgba(217,246,231,.85) 0%, rgba(255,255,255,.92) 100%)}

.form-control,.form-select{
  border-radius:18px;padding:.88rem 1rem;border:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.82); transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.form-control:focus,.form-select:focus{
  border-color:rgba(31,157,99,.45);
  box-shadow:0 0 0 .22rem rgba(31,157,99,.14);
  transform:translateY(-1px);
}
.table>:not(caption)>*>*{padding:1rem .75rem;border-bottom-color:rgba(15,23,42,.06)}
.fancy-table tbody tr{transition:background-color .2s ease, transform .2s ease}
.fancy-table tbody tr:hover{background:rgba(31,157,99,.05)}
.badge,.mini-status{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;font-weight:700;padding:.32rem .7rem;font-size:.78rem;
}
.mini-status.success{background:rgba(31,157,99,.12);color:var(--brand-green-dark)}
.mini-status.danger{background:rgba(220,53,69,.12);color:#c21f33}
.site-footer{color:#7a8394}

/* Landing */
.landing-hero{
  position:relative;overflow:hidden;
  padding:3rem;
  border-radius:38px;
  background:
    linear-gradient(135deg, rgba(17,90,58,.97) 0%, rgba(31,157,99,.92) 52%, rgba(243,201,90,.22) 120%);
  color:#fff;
  box-shadow:0 32px 80px rgba(17,90,58,.22);
}
.hero-glow{position:absolute;border-radius:50%;filter:blur(12px);opacity:.45}
.hero-glow-one{width:220px;height:220px;background:rgba(243,201,90,.28);top:-40px;right:18%}
.hero-glow-two{width:180px;height:180px;background:rgba(255,255,255,.18);bottom:-40px;left:-20px}
.landing-title{font-size:clamp(2.15rem,4vw,3.8rem);line-height:1.08;font-weight:800;margin-bottom:1rem}
.landing-lead{font-size:1.18rem;line-height:1.6;max-width:680px;color:rgba(255,255,255,.9)}
.landing-copy{max-width:650px;color:rgba(255,255,255,.82);margin-bottom:1.4rem}
.hero-badge,.section-kicker{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(255,255,255,.14);color:#fff;
  border:1px solid rgba(255,255,255,.18);
  padding:.52rem .92rem;border-radius:999px;font-weight:700;
}
.section-kicker{background:rgba(31,157,99,.09);color:var(--brand-green-dark);border-color:rgba(31,157,99,.15)}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.2rem}
.hero-cta{
  min-width:148px;
  box-shadow:0 0 0 0 rgba(255,255,255,.0), 0 20px 40px rgba(15,23,42,.22);
  animation:glowPulse 2.4s ease-in-out infinite;
}
.price-pill{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.15rem;border-radius:999px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
  font-weight:800;color:#fff;backdrop-filter:blur(10px)
}
.stats-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.stats-card{
  min-width:180px;padding:1rem 1.1rem;border-radius:22px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px)
}
.stats-number{display:block;font-size:1.7rem;font-weight:800}
.stats-label{display:block;color:rgba(255,255,255,.82)}
.hero-logo-shell{
  display:flex;justify-content:center;align-items:center;
  min-height:420px;border-radius:32px;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);
}
.hero-logo-main{
  width:min(100%,540px);
  filter:drop-shadow(0 24px 40px rgba(15,23,42,.24));
  animation:floatHero 6s ease-in-out infinite;
}
.section-head{margin-bottom:1.6rem}
.section-head h2,.section-head-center h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;margin:.5rem 0}
.section-head p,.section-head-center p{max-width:760px;color:var(--brand-muted)}
.section-head-center{text-align:center}
.section-head-center p{margin:0 auto}
.feature-card{
  padding:1.6rem;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(246,251,248,.82));
}
.feature-icon,.mini-feature-card i{
  width:56px;height:56px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(31,157,99,.14), rgba(243,201,90,.18));
  color:var(--brand-green-dark);font-size:1.45rem;margin-bottom:1rem
}
.feature-card h3,.mini-feature-card h4,.feature-inline-card h3{font-weight:800;margin-bottom:.65rem}
.feature-card p,.mini-feature-card p,.feature-inline-card p{color:var(--brand-muted);margin-bottom:0}
.mini-feature-card{padding:1.4rem}
.screen-mockup,.screen-card{overflow:hidden;padding:1rem;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,251,248,.78))}
.screen-bar{display:flex;gap:.4rem;padding:.2rem 0 .8rem}
.screen-bar span{width:11px;height:11px;border-radius:50%;background:#d0d7de}
.screen-bar span:first-child{background:#ff5f57}
.screen-bar span:nth-child(2){background:#febb2e}
.screen-bar span:nth-child(3){background:#28c840}
.screen-shot{border-radius:22px;display:block;width:100%;height:auto;box-shadow:0 20px 35px rgba(15,23,42,.10)}
.screen-caption{padding:.95rem .4rem .2rem;color:var(--brand-muted);font-weight:600}
.side-preview{padding:1rem}
.feature-inline-card{padding:1.5rem;height:100%;display:flex;flex-direction:column;justify-content:center}
.pricing-cta{
  padding:2rem 2.2rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  background:linear-gradient(120deg, rgba(255,255,255,.88), rgba(217,246,231,.64));
}
.pricing-cta p{margin-bottom:0;color:var(--brand-muted)}
.pricing-cta-action{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.tilt-card{transform-style:preserve-3d}

.setup-card,.login-card,.value-page-card{padding:2rem}
.value-page-wrap{display:flex;justify-content:center;align-items:flex-start}
.value-page-card{max-width:680px;width:100%;padding:2.4rem}
.value-form{max-width:100%}
.login-logo{max-width:400px;width:100%;height:auto;filter:drop-shadow(0 16px 30px rgba(31,157,99,.14))}
.page-head p{color:var(--brand-muted)}
.canvas, canvas{max-width:100%}

.reveal-on-scroll{opacity:0;transform:translateY(32px);transition:opacity .7s ease, transform .7s ease}
.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}

@keyframes glowPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0),0 20px 40px rgba(15,23,42,.22)}
  50%{box-shadow:0 0 0 8px rgba(255,255,255,.08),0 24px 44px rgba(15,23,42,.28)}
}
@keyframes floatHero{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

@media (max-width:991.98px){
  body{padding-top:106px}
  .navbar>.container{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.75rem}
  .navbar-brand{margin:0;flex:0 1 auto}
  .brand-logo{height:66px}
  .navbar-toggler{margin:0 0 0 auto;flex-shrink:0}
  .navbar-collapse{width:100%;margin-top:.9rem;background:rgba(255,255,255,.92);border:1px solid rgba(31,157,99,.12);border-radius:22px;padding:.65rem .5rem;box-shadow:0 14px 34px rgba(15,23,42,.08)}
  .navbar-nav{width:100%;justify-content:flex-start;text-align:left;padding-top:.1rem}
  .nav-link{display:block}
  .landing-hero{padding:1.6rem}
  .hero-logo-shell{min-height:260px}
  .pricing-cta{padding:1.6rem;flex-direction:column;align-items:flex-start}
}
@media (max-width:767.98px){
  body{padding-top:98px}
  .brand-logo{height:58px}
  .navbar-brand{max-width:72%}
  .landing-title{font-size:2.1rem}
  .landing-lead{font-size:1rem}
  .hero-actions,.stats-row,.pricing-cta-action{flex-direction:column;align-items:stretch}
  .stats-card{min-width:unset}
  .scroll-top-btn{right:12px;bottom:12px}
  .app-card,.summary-card,.feature-card,.mini-feature-card,.screen-card,.screen-mockup,.pricing-cta,.value-page-card{border-radius:24px}
}
@media (max-width:390px){
  body{padding-top:94px}
  .brand-logo{height:52px}
  .navbar-toggler{padding:.4rem .6rem;border-radius:12px}
  .landing-hero{padding:1.25rem}
}
@media (max-width:360px){
  .brand-logo{height:48px}
  .landing-title{font-size:1.85rem}
}

.stedisarun-shell .run-hero {
    display:grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    gap: 1.5rem;
    align-items:center;
    padding: 2rem;
    background: radial-gradient(circle at top left, rgba(78, 181, 104, .18), transparent 35%), linear-gradient(135deg, #f9fffb 0%, #eff8f1 100%);
}
.stedisarun-shell .run-hero h2 { font-size: clamp(2rem, 4vw, 3rem); margin: .4rem 0 .75rem; }
.stedisarun-shell .run-hero p { max-width: 62ch; color:#587164; margin-bottom: 0; }
.stedisarun-shell .run-hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top: 1.35rem; }
.stedisarun-shell .run-badges-preview { display:grid; gap:1rem; }
.stedisarun-shell .run-badge-card {
    border-radius: 22px; padding: 1rem 1.1rem; background:#fff; border:1px solid rgba(24,112,53,.10);
    box-shadow: 0 18px 40px rgba(18,78,37,.08); display:flex; flex-direction:column; gap:.2rem;
}
.stedisarun-shell .run-badge-card span { font-size: 1.6rem; }
.stedisarun-shell .run-badge-card small { color:#6f8a79; }
.stedisarun-shell .run-badge-card.gold { border-color: rgba(224, 168, 0, .25); }
.stedisarun-shell .run-badge-card.silver { border-color: rgba(108,117,125,.20); }
.stedisarun-shell .run-badge-card.bronze { border-color: rgba(205,127,50,.26); }

.stedisarun-hud { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:.85rem; }
.hud-pill {
    padding: .85rem 1rem; border-radius: 18px; background:linear-gradient(180deg, #f9fffb 0%, #edf7f0 100%);
    border:1px solid rgba(22, 112, 54, .10); display:flex; flex-direction:column; gap:.15rem;
}
.hud-pill span { color:#688272; font-size:.85rem; }
.hud-pill strong { color:#133b24; font-size:1.15rem; }

.run-stage-wrap {
    position:relative; border-radius: 28px; overflow:hidden; background:#e9f6ec;
    border:1px solid rgba(22,112,54,.12); min-height: 520px;
}
#stedisarunCanvas { display:block; width:100%; height:auto; touch-action: pan-y; }
.run-overlay {
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:1.5rem;
    background:rgba(9, 35, 18, .14); opacity:0; pointer-events:none; transition: opacity .2s ease;
}
.run-overlay-visible { opacity:1; pointer-events:auto; }
.run-overlay-card {
    max-width: 560px; text-align:center; background: rgba(255,255,255,.96); border-radius: 28px; padding: 1.6rem;
    box-shadow: 0 18px 60px rgba(10, 34, 18, .16); border: 1px solid rgba(20, 120, 58, .10);
}
.run-overlay-card h3 { margin:.5rem 0 .6rem; }
.run-overlay-card p { color:#5f7669; margin-bottom:1rem; }
.mini-chip {
    display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .8rem; border-radius:999px;
    background:#f2f8f3; color:#335541; border:1px solid rgba(21,112,54,.10); font-size:.92rem;
}
.run-controls { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.run-stat-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.run-stat-card {
    padding: 1rem; border-radius: 22px; background:#f8fbf9; border:1px solid rgba(20,112,54,.10);
    display:flex; flex-direction:column; gap:.3rem;
}
.run-stat-card span, .run-stat-card small { color:#70887b; }
.run-stat-card strong { font-size:1.45rem; color:#163f28; }
.game-over-box {
    margin-top:1rem; border-radius:24px; padding:1rem; background:linear-gradient(180deg, #fdf7f7 0%, #fff 100%);
    border:1px solid rgba(190,24,93,.10);
}
.game-over-title { font-weight:700; font-size:1.15rem; margin-bottom:.7rem; color:#123b23; }
.game-over-row { display:flex; justify-content:space-between; gap:1rem; padding:.45rem 0; border-bottom:1px dashed rgba(24,52,35,.08); }
.game-over-row:last-of-type { border-bottom:0; }
.game-over-row span { color:#6c8276; }
.game-over-row strong { color:#163f28; }
.run-tabs { display:flex; gap:.65rem; }
.run-tab {
    flex:1; border:0; border-radius:999px; padding:.75rem 1rem; background:#edf5ef; color:#315341; font-weight:700;
}
.run-tab.active { background:#1f8b47; color:#fff; box-shadow:0 14px 30px rgba(31,139,71,.24); }
.leaderboard-top3 { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:.75rem; }
.top3-card {
    text-align:center; border-radius:22px; padding:.95rem .55rem; background:#fff; border:1px solid rgba(22,112,54,.10);
    box-shadow:0 14px 32px rgba(13,56,28,.08); display:flex; flex-direction:column; gap:.18rem;
}
.top3-card .top3-medal { font-size:1.6rem; }
.top3-card span, .top3-card small { color:#6e8679; }
.top3-card.gold { background:linear-gradient(180deg, rgba(255,244,214,.95), #fff); }
.top3-card.silver { background:linear-gradient(180deg, rgba(241,244,247,.96), #fff); }
.top3-card.bronze { background:linear-gradient(180deg, rgba(255,239,226,.96), #fff); }
.leaderboard-list { display:grid; gap:.7rem; }
.leaderboard-item {
    display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-radius:18px;
    background:#f8fbf9; border:1px solid rgba(20,112,54,.08);
}
.leaderboard-item.mine { background:linear-gradient(180deg, #eef9f0 0%, #f8fbf9 100%); border-color: rgba(20,112,54,.22); }
.leaderboard-left, .leaderboard-right { display:flex; align-items:center; gap:.85rem; }
.leaderboard-left small, .leaderboard-right small { display:block; color:#6d8579; }
.leaderboard-right { text-align:right; }
.leaderboard-rank {
    min-width: 48px; height:48px; display:grid; place-items:center; border-radius:50%;
    background:#e2f2e6; color:#1d6f3f; font-weight:800;
}

@media (max-width: 1199px) {
    .stedisarun-shell .run-hero { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .stedisarun-hud { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .run-stat-grid, .leaderboard-top3 { grid-template-columns: 1fr; }
    .run-controls { flex-direction:column; }
    .stedisarun-shell .run-hero { padding:1.3rem; }
}
