:root{
  --sd-navy:#13344e;
  --sd-navy-2:#0c2b43;
  --sd-teal:#10aaa8;
  --sd-teal-hover:#078f91;
  --sd-teal-active:#08777a;
  --sd-coral:#f25555;
  --sd-coral-hover:#df444a;
  --sd-coral-active:#c7373d;
  --sd-sky:#eaf7fb;
  --sd-sea:#dff4f4;
  --sd-sand:#fff3df;
  --sd-ink:#112d45;
  --sd-muted:#6c7b87;
  --sd-line:#dce8ec;
  --sd-soft:#f6fafb;
  --sd-white:#fff;
  --sd-shadow:0 12px 32px rgba(16,45,69,.08);
}

html:has(body.stuyck-drop-app-page){margin-top:0!important}
body.stuyck-drop-app-page{margin:0!important;padding:0!important;background:#fff!important}
body.stuyck-drop-app-page #wpadminbar{display:none!important}
body.stuyck-drop-app-page .elementor-location-header,
body.stuyck-drop-app-page .elementor-location-footer{display:none!important}

.stuyck-app,.stuyck-app *{box-sizing:border-box}
.stuyck-app{
  width:100%;min-height:100vh;background:#fff;color:var(--sd-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  overflow-x:hidden;
}
.stuyck-app a{text-decoration:none!important;color:inherit}
.stuyck-app img{max-width:100%}
.stuyck-app h1,.stuyck-app h2,.stuyck-app h3,.stuyck-app p{margin-top:0}
.stuyck-app h1,.stuyck-app h2,.stuyck-app h3{color:var(--sd-ink);font-weight:800;letter-spacing:-.035em}
.stuyck-app p{color:var(--sd-muted);line-height:1.5}
.stuyck-shell{width:min(1120px,100%);margin:0 auto;padding:0 20px 112px}
.stuyck-shell>*{min-width:0}

/* Header */
.stuyck-topbar{
  height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:0 -20px;padding:0 20px;border-bottom:1px solid #e7eef1;background:#fff;position:relative;z-index:20;
}
.stuyck-brand{display:inline-flex;align-items:center;gap:5px;font-size:21px;font-weight:900;letter-spacing:-.04em;color:var(--sd-navy)!important;white-space:nowrap}
.stuyck-brand span{color:#0f7f99}
.stuyck-anchor{font-size:22px;font-weight:500;color:#0f6d93}
.stuyck-topbar nav{display:flex;align-items:center;gap:5px}
.stuyck-topbar nav a{padding:9px 12px;border-radius:999px;color:#5f7380;font-size:13px;font-weight:700;transition:.15s ease}
.stuyck-topbar nav a:hover{background:var(--sd-sky);color:var(--sd-navy)}
.stuyck-topbar nav a:active{transform:translateY(1px);background:#ddecf1}
.stuyck-topbar nav a.active{background:var(--sd-navy);color:#fff}
.stuyck-mobile-menu,.stuyck-top-action{display:none;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;color:var(--sd-navy)!important}
.stuyck-mobile-menu svg,.stuyck-top-action svg{width:24px;height:24px;fill:currentColor}
.stuyck-topbar-inner{display:grid;grid-template-columns:44px 1fr 44px;text-align:center}
.stuyck-topbar-inner strong{font-size:17px;letter-spacing:-.02em}
.stuyck-topbar-inner .stuyck-top-action{display:flex}

/* Shared type */
.stuyck-kicker{font-size:11px;line-height:1.2;letter-spacing:.14em;font-weight:800;color:var(--sd-teal)}
.stuyck-page-title,.stuyck-profile-hero{padding:34px 0 22px}
.stuyck-page-title h1,.stuyck-profile-hero h1{font-size:clamp(42px,7vw,68px);line-height:.98;margin:7px 0 8px}
.stuyck-page-title p,.stuyck-profile-hero p{margin:0;font-size:16px}
.stuyck-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:36px 0 14px}
.stuyck-section-head h2{font-size:30px;margin:4px 0 0}
.stuyck-pill,.stuyck-chip{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--sd-line);border-radius:999px;background:#fff;color:#536a78;font-size:11px;font-weight:700}

/* Home screen */
.stuyck-ocean-art{height:150px;margin:0 -20px;overflow:hidden;background:#eefafd}
.stuyck-ocean-art svg{display:block;width:100%;height:100%}
.stuyck-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:26px 0 18px}
.stuyck-welcome-home{margin-top:-25px;position:relative;z-index:2;padding-top:0}
.stuyck-home-greeting{font-size:14px;font-weight:700;color:var(--sd-navy);margin-bottom:3px}
.stuyck-welcome h1{font-size:clamp(42px,7vw,60px);line-height:.95;margin:0}
.stuyck-home-card{display:grid;gap:12px}
.stuyck-home-progress{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(120px,.75fr);gap:12px;align-items:stretch}
.stuyck-ring{
  --p:0;position:relative;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--sd-teal) calc(var(--p)*1%),#dff2f2 0);
}
.stuyck-ring:after{content:"";position:absolute;inset:16px;border-radius:50%;background:#fff}
.stuyck-ring>div,.stuyck-ring>strong{position:relative;z-index:1;text-align:center}
.stuyck-ring-large{width:min(100%,230px);justify-self:center}
.stuyck-ring-large strong,.stuyck-ring-huge strong{font-size:50px;line-height:.9;letter-spacing:-.06em}
.stuyck-ring span{font-size:18px;font-weight:700}
.stuyck-ring small{display:block;margin-top:7px;color:#758792;font-size:10px;letter-spacing:.04em;text-transform:none;font-weight:600}
.stuyck-boat-mark{display:block!important;font-size:25px!important;line-height:1;margin-bottom:8px}
.stuyck-home-sidecards{display:grid;gap:10px}
.stuyck-goal-card{border:1px solid var(--sd-line);border-radius:16px;background:#fff;padding:13px 12px;box-shadow:0 6px 18px rgba(16,45,69,.03)}
.stuyck-goal-card small,.stuyck-goal-card strong,.stuyck-goal-card span{display:block}
.stuyck-goal-card small{font-size:10px;color:#4f6573;font-weight:700;margin-bottom:4px}
.stuyck-goal-card strong{font-size:18px;letter-spacing:-.025em;color:var(--sd-ink);line-height:1.1}
.stuyck-goal-card span{font-size:10px;color:#657984;margin-top:4px;line-height:1.35}
.stuyck-goal-track{height:7px;border-radius:99px;background:#e8eff2;overflow:hidden;margin-top:9px}
.stuyck-goal-track i{display:block;height:100%;border-radius:inherit;background:var(--sd-teal)}
.stuyck-goal-card.difficulty strong{color:#ef7f22;font-size:17px}
.stuyck-home-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--sd-line);border-radius:18px;background:#fff;overflow:hidden}
.stuyck-home-stats>div{padding:11px 8px;text-align:center;border-right:1px solid var(--sd-line)}
.stuyck-home-stats>div:last-child{border-right:0}
.stuyck-home-stats i{display:block;font-style:normal;color:var(--sd-teal);font-size:19px;font-weight:800;line-height:1}
.stuyck-home-stats b{display:block;font-size:18px;margin-top:5px;white-space:nowrap}
.stuyck-home-stats span{display:block;font-size:10px;color:#71818b;margin-top:2px}
.stuyck-home-cta{width:100%;min-height:54px}

/* Install prompt */
.stuyck-install-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:13px;align-items:center;margin:0 0 18px;padding:13px;border:1px solid #cde3e9;border-radius:20px;background:linear-gradient(105deg,#edf8fb,#fff)}
.stuyck-install-card[hidden]{display:none!important}
.stuyck-install-icon-image{width:52px;height:52px;border-radius:14px;object-fit:cover;box-shadow:0 5px 16px rgba(18,52,78,.13)}
.stuyck-install-copy b,.stuyck-install-copy span{display:block}
.stuyck-install-copy b{font-size:14px;color:var(--sd-navy)}
.stuyck-install-copy span{font-size:11px;color:#657984;line-height:1.4;margin-top:2px}
.stuyck-install-button{min-height:42px!important;padding:10px 16px!important;font-size:13px!important;white-space:nowrap}

/* Frank */
.stuyck-frank-card{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:center;min-height:96px;margin:0;padding:9px 13px 9px 8px;border:1px solid #cde6ec;border-radius:18px;background:linear-gradient(105deg,#eaf8fb,#f8fcfd);overflow:hidden}
.stuyck-frank-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-44px;top:-60px;background:rgba(16,170,168,.055)}
.stuyck-frank-avatar{width:76px;height:76px;border-radius:17px;overflow:hidden;background:#eaf8fb;box-shadow:0 4px 14px rgba(18,52,78,.12);animation:frankBob 4s ease-in-out infinite}
.stuyck-frank-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.stuyck-frank-card b{display:block;font-size:13px;color:var(--sd-navy);margin-bottom:3px}
.stuyck-frank-card p{margin:0!important;font-size:12px;line-height:1.45;color:#365769!important}
@keyframes frankBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-1deg)}}

/* Buttons. Explicitly override WordPress/theme pink states. */
.stuyck-app .stuyck-btn,.stuyck-app .stuyck-install-button,.stuyck-app button:not(.stuyck-install-close){
  -webkit-appearance:none!important;appearance:none!important;border:0!important;box-shadow:none!important;text-shadow:none!important;
  background:var(--sd-teal)!important;color:#fff!important;border-radius:999px!important;cursor:pointer!important;
  min-height:50px;padding:13px 22px;font:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1.15!important;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .15s ease,transform .08s ease,box-shadow .15s ease!important;
}
.stuyck-app .stuyck-btn:hover,.stuyck-app .stuyck-install-button:hover,.stuyck-app button:not(.stuyck-install-close):hover{background:var(--sd-teal-hover)!important;color:#fff!important;box-shadow:0 8px 18px rgba(16,170,168,.2)!important}
.stuyck-app .stuyck-btn:active,.stuyck-app .stuyck-install-button:active,.stuyck-app button:not(.stuyck-install-close):active{background:var(--sd-teal-active)!important;color:#fff!important;transform:translateY(1px) scale(.995)!important;box-shadow:none!important}
.stuyck-app .stuyck-btn:focus-visible,.stuyck-app .stuyck-install-button:focus-visible,.stuyck-app button:focus-visible,.stuyck-app a:focus-visible{outline:3px solid rgba(16,170,168,.28)!important;outline-offset:3px!important}
.stuyck-app .stuyck-btn[disabled],.stuyck-app button[disabled]{opacity:.56!important;cursor:wait!important;transform:none!important;box-shadow:none!important}
.stuyck-app .stuyck-btn-navy{background:var(--sd-navy)!important}
.stuyck-app .stuyck-btn-navy:hover{background:#0f4562!important}
.stuyck-app .stuyck-btn-navy:active{background:var(--sd-navy-2)!important}
.stuyck-app .stuyck-btn-coral{background:var(--sd-coral)!important}
.stuyck-app .stuyck-btn-coral:hover{background:var(--sd-coral-hover)!important}
.stuyck-app .stuyck-btn-coral:active{background:var(--sd-coral-active)!important}
.stuyck-btn-wide{width:100%}

/* Forms */
.stuyck-app form{display:grid;gap:14px}
.stuyck-app label{display:grid;gap:7px;position:relative;text-align:left;color:#405767;font-size:12px;font-weight:700}
.stuyck-app input,.stuyck-app select{width:100%;min-height:50px;border:1px solid #cbdde3!important;border-radius:13px!important;background:#fff!important;color:var(--sd-ink)!important;box-shadow:none!important;padding:11px 13px!important;font:inherit!important;font-size:16px!important}
.stuyck-app input:hover,.stuyck-app select:hover{border-color:#a8cbd4!important}
.stuyck-app input:focus,.stuyck-app select:focus{outline:3px solid rgba(16,170,168,.12)!important;border-color:var(--sd-teal)!important;box-shadow:none!important}
.stuyck-input-wrap{position:relative;display:block}
.stuyck-big-input{font-size:18px!important;font-weight:700!important;padding-right:48px!important}
.input-unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:14px;color:#5e7481;font-weight:700}

/* Weigh in */
.stuyck-weigh-screen{max-width:560px;margin:0 auto;padding:28px 0 16px}
.stuyck-ring-huge{width:min(72vw,300px);margin:0 auto 26px}
.stuyck-ring-huge:after{inset:20px}
.stuyck-ring-huge strong{font-size:55px}
.stuyck-ring-huge small{font-size:12px;line-height:1.35;margin-top:13px}
.stuyck-weigh-form{margin-top:4px}
.stuyck-note-field{margin-top:2px}
.stuyck-weigh-card{max-width:620px;margin:0 auto;text-align:center}
.stuyck-weigh-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--sd-line);border-radius:18px;overflow:hidden;margin:14px 0}
.stuyck-weigh-summary>div{padding:14px;text-align:center}
.stuyck-weigh-summary>div+div{border-left:1px solid var(--sd-line)}
.stuyck-weigh-summary b,.stuyck-weigh-summary span{display:block}
.stuyck-weigh-summary b{font-size:20px}.stuyck-weigh-summary span{font-size:11px;color:#768792}

/* Bottom nav */
.stuyck-bottom-nav{position:fixed;z-index:9990;left:50%;bottom:8px;transform:translateX(-50%);width:min(520px,calc(100% - 18px));height:86px;padding:9px 10px 7px;border-radius:28px;background:var(--sd-navy);box-shadow:0 12px 30px rgba(6,31,48,.23);display:grid;grid-template-columns:repeat(5,1fr);align-items:end}
.stuyck-bottom-nav a{height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#9eb0bc!important;font-size:10px;font-weight:600;border-radius:19px;transition:.12s ease}
.stuyck-bottom-nav a i{width:25px;height:25px;display:grid;place-items:center;font-style:normal}
.stuyck-bottom-nav a svg{width:22px;height:22px;fill:currentColor}
.stuyck-bottom-nav a:hover{color:#fff!important;background:rgba(255,255,255,.04)}
.stuyck-bottom-nav a:active{transform:translateY(1px);background:rgba(255,255,255,.08)}
.stuyck-bottom-nav a.active{color:#fff!important}
.stuyck-bottom-nav a.primary{align-self:center;width:66px;height:66px;justify-self:center;border:5px solid #fff;border-radius:21px;background:var(--sd-teal);color:#fff!important;transform:translateY(-17px);box-shadow:0 5px 14px rgba(6,31,48,.18)}
.stuyck-bottom-nav a.primary:hover{background:var(--sd-teal-hover)}
.stuyck-bottom-nav a.primary:active{background:var(--sd-teal-active);transform:translateY(-16px) scale(.98)}
.stuyck-bottom-nav a.primary i{width:31px;height:31px}
.stuyck-bottom-nav a.primary svg{width:26px;height:26px}
.stuyck-bottom-nav a.primary span{display:none}

/* Members */
.stuyck-member-mark{width:var(--mark-size,60px);height:var(--mark-size,60px);flex:0 0 var(--mark-size,60px);border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(145deg,#dff4f4,#bfe9eb);border:2px solid #fff;box-shadow:0 0 0 1px #c7e1e6;color:var(--sd-navy);font-size:calc(var(--mark-size,60px)*.28);font-weight:800}
.stuyck-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.stuyck-family-card{border:1px solid var(--sd-line);border-radius:22px;padding:16px;background:#fff;transition:.15s ease}
.stuyck-family-card:hover{transform:translateY(-2px);border-color:#bcdce4;box-shadow:var(--sd-shadow)}
.stuyck-family-card:active{transform:translateY(0)}
.stuyck-family-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.stuyck-percent{padding:7px 9px;border-radius:999px;background:var(--sd-navy);color:#fff;font-size:11px;font-weight:800}
.stuyck-family-card h3{font-size:22px;margin:17px 0 11px}
.stuyck-family-bar,.stuyck-board .bar{height:8px;border-radius:99px;background:#edf1f3;overflow:hidden}
.stuyck-family-bar i,.stuyck-board .bar i{display:block;height:100%;border-radius:inherit;background:var(--sd-teal)}
.stuyck-family-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.stuyck-family-stats span{font-size:10px;color:#83919a}
.stuyck-family-stats b{display:block;font-size:17px;color:var(--sd-ink);margin-bottom:2px}

/* Leaderboard */
.stuyck-leader-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:34px 0 22px}
.stuyck-leader-hero h1{font-size:clamp(48px,7vw,76px);line-height:.95;margin:7px 0 8px}
.stuyck-leader-hero p{margin:0;font-size:17px}
.stuyck-code{min-width:165px;padding:18px;border-radius:24px;background:#111;color:#fff}
.stuyck-code small,.stuyck-code b{display:block}
.stuyck-code small{font-size:9px;letter-spacing:.14em;color:#c7c7c7;font-weight:700}
.stuyck-code b{font-size:25px;letter-spacing:.08em;margin-top:6px}
.stuyck-winner-card{display:grid;grid-template-columns:28px 64px minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 0;border-radius:24px;background:linear-gradient(135deg,#fff8eb,var(--sd-sand));padding:18px;color:var(--sd-ink)!important;transition:.15s ease}
.stuyck-winner-card:hover{transform:translateY(-2px);box-shadow:var(--sd-shadow)}
.stuyck-winner-card .crown{font-size:24px;color:#efa32c}
.stuyck-winner-card small{font-size:9px;letter-spacing:.12em;font-weight:800}
.stuyck-winner-card h2{font-size:26px;margin:3px 0 1px}
.stuyck-winner-card p{margin:0;font-size:12px}
.stuyck-winner-card>strong{font-size:28px}
.stuyck-board{display:grid;gap:9px}
.stuyck-board>a{display:grid;grid-template-columns:28px 46px minmax(120px,1fr) minmax(90px,.7fr) auto;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--sd-line);border-radius:18px;background:#fff;transition:.15s ease}
.stuyck-board>a:hover{transform:translateY(-1px);border-color:#bcdce4;box-shadow:0 7px 20px rgba(16,45,69,.06)}
.stuyck-board .rank{font-weight:800;text-align:center}
.stuyck-board .who b,.stuyck-board .who small{display:block}.stuyck-board .who b{font-size:14px}.stuyck-board .who small{font-size:10px;color:#84929b;margin-top:2px}.stuyck-board>a>strong{font-size:14px}

/* Member detail / feed */
.stuyck-member-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:30px 0 20px}
.stuyck-member-hero>div:first-child{display:flex;align-items:center;gap:15px}
.stuyck-member-hero h1{font-size:46px;margin:4px 0}.stuyck-member-hero p{margin:0}
.stuyck-ring-small{width:96px}.stuyck-ring-small:after{inset:10px}.stuyck-ring-small strong{font-size:21px}
.stuyck-feed-card{margin-top:14px;border:1px solid var(--sd-line);border-radius:22px;padding:0 18px 12px}
.stuyck-feed{display:grid}
.stuyck-feed>div{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf1f3}
.stuyck-feed>div:first-child{border-top:0}.feed-date{font-size:11px;color:#83919a}.feed-main b,.feed-main small{display:block}.feed-main b{font-size:15px}.feed-main small{font-size:11px;color:#788995;margin-top:2px}.feed-delta{font-size:12px;font-weight:800}.feed-delta.down{color:var(--sd-teal)}.feed-delta.up{color:var(--sd-coral)}

/* Charts */
.stuyck-chart-card{border:1px solid var(--sd-line);border-radius:24px;background:#fff;padding:14px 16px 0;overflow:hidden}
.stuyck-chart-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.stuyck-chart{display:block;width:100%;height:auto;min-height:180px}.stuyck-chart .grid line{stroke:#e8eef1}.stuyck-chart .area{fill:url(#sdFill)}.stuyck-chart .line{fill:none;stroke:var(--sd-teal);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.stuyck-chart .dot{fill:var(--sd-navy);stroke:#fff;stroke-width:4}.stuyck-chart text{fill:#86949d;font-size:11px}
.stuyck-chart-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #edf1f3}.stuyck-chart-stats>div{padding:13px;border-right:1px solid #edf1f3}.stuyck-chart-stats>div:last-child{border-right:0}.stuyck-chart-stats span,.stuyck-chart-stats b{display:block}.stuyck-chart-stats span{font-size:10px;color:#86949d}.stuyck-chart-stats b{font-size:17px;margin-top:3px}
.stuyck-empty-chart{min-height:180px;display:grid;place-items:center;align-content:center;text-align:center}.stuyck-empty-chart span{font-size:42px;color:var(--sd-teal)}.stuyck-empty-chart p{max-width:290px;font-size:13px}

/* Cards/forms/competitions */
.stuyck-form-card,.stuyck-auth,.stuyck-card{border:1px solid var(--sd-line);border-radius:24px;padding:22px;background:#fff}
.stuyck-form-card h2,.stuyck-auth h2{font-size:28px;margin-bottom:18px}
.stuyck-form-card.accent{background:#fff9ee;border-color:#f2dfbb}.stuyck-form-card.darkcard{background:var(--sd-navy);color:#fff;border-color:var(--sd-navy)}.stuyck-form-card.darkcard h2{color:#fff}.stuyck-form-card.darkcard p{color:#b8cad5}
.stuyck-card-icon{font-size:25px;color:var(--sd-teal);margin-bottom:18px}.stuyck-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stuyck-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stuyck-grid-form{grid-template-columns:1fr 1fr}.stuyck-check{grid-column:1/-1;display:flex!important;align-items:center!important;gap:9px!important}.stuyck-check input{width:19px;min-height:19px!important;height:19px!important;padding:0!important}.stuyck-check span{font-size:12px;font-weight:600}
.stuyck-code-input{text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.stuyck-competition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stuyck-competition-grid>a{border:1px solid var(--sd-line);border-radius:20px;padding:17px;background:#fff;transition:.15s ease}.stuyck-competition-grid>a:hover{transform:translateY(-2px);box-shadow:var(--sd-shadow)}.stuyck-competition-grid span{font-size:9px;letter-spacing:.12em;color:var(--sd-teal);font-weight:800}.stuyck-competition-grid h3{font-size:20px;margin:8px 0 5px}.stuyck-competition-grid p{font-size:12px;margin:0 0 13px}.stuyck-competition-grid b{font-size:12px}
.stuyck-alert{padding:12px 14px;border-radius:14px;margin-top:12px;font-size:13px}.stuyck-alert.bad{background:#fff0f0;color:#a8393c;border:1px solid #f1c8c9}.stuyck-empty{text-align:center}.stuyck-small{font-size:12px!important}.stuyck-small a{color:var(--sd-teal)!important;font-weight:700}.stuyck-logo-mark{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;background:var(--sd-teal);color:#fff;font-size:30px;margin-bottom:24px}

/* Login/register */
.stuyck-auth-screen{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;max-width:940px;margin:55px auto}
.stuyck-auth-art{min-height:430px;padding:38px;border-radius:30px;background:linear-gradient(155deg,var(--sd-navy),#1d5d6a);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.stuyck-auth-art h1{font-size:54px;line-height:.98;color:#fff;margin:9px 0 12px}.stuyck-auth-art p{color:#c1d4dc;margin:0}

/* Install modal */
html.stuyck-modal-open{overflow:hidden}.stuyck-install-modal[hidden]{display:none!important}.stuyck-install-modal{position:fixed;z-index:99999;inset:0;padding:18px;display:grid;place-items:center;background:rgba(7,29,45,.58);backdrop-filter:blur(6px)}
.stuyck-install-dialog{position:relative;width:min(100%,480px);max-height:88vh;overflow:auto;border-radius:25px;background:#fff;padding:24px;border:1px solid #dce9ed;box-shadow:0 24px 70px rgba(6,28,45,.3)}
.stuyck-install-dialog h2{font-size:28px;margin:7px 35px 20px 0;line-height:1.05}.stuyck-install-app-icon{width:72px;height:72px;border-radius:19px;object-fit:cover;box-shadow:0 7px 18px rgba(18,52,78,.15);margin-bottom:16px}.stuyck-install-close{position:absolute;right:13px;top:12px;width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border-radius:50%!important;background:#edf4f6!important;color:var(--sd-navy)!important;font-size:24px!important;box-shadow:none!important}.stuyck-install-close:hover{background:#deebef!important}.stuyck-install-close:active{background:#d1e1e6!important}.stuyck-install-steps{margin:6px 0 20px}.stuyck-platform-row{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:15px;border-radius:17px;background:var(--sd-soft);border:1px solid #e0ecef}.stuyck-platform-icon{width:40px;height:40px;border-radius:12px;background:var(--sd-navy);color:#fff;display:grid;place-items:center;font-size:20px}.stuyck-platform-row b{font-size:14px}.stuyck-platform-row ol{margin:9px 0 0;padding-left:18px;color:#5a6f7d;font-size:12px;line-height:1.5}.stuyck-install-note{display:grid;gap:4px;padding:14px;border-radius:15px;background:#fff4e8;border:1px solid #f2d4b6}.stuyck-install-note span{font-size:12px;color:#6c625b}

@media(max-width:900px){
  .stuyck-topbar nav{display:none}.stuyck-mobile-menu{display:flex}
  .stuyck-family-grid,.stuyck-competition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:640px){
  .stuyck-shell{padding:0 16px 108px}
  .stuyck-topbar{height:68px;margin:0 -16px;padding:0 16px}
  .stuyck-brand{font-size:20px}
  .stuyck-ocean-art{height:126px;margin:0 -16px}
  .stuyck-welcome-home{margin-top:-22px;padding-bottom:15px}
  .stuyck-home-greeting{font-size:13px}
  .stuyck-welcome h1{font-size:42px}
  .stuyck-install-card{grid-template-columns:48px minmax(0,1fr);padding:12px}
  .stuyck-install-icon-image{width:47px;height:47px;border-radius:13px}
  .stuyck-install-button{grid-column:1/-1;width:100%}
  .stuyck-home-progress{grid-template-columns:minmax(0,1.25fr) minmax(112px,.75fr);gap:10px}
  .stuyck-ring-large{width:min(49vw,205px)}
  .stuyck-ring-large:after{inset:14px}
  .stuyck-ring-large strong{font-size:42px}
  .stuyck-ring-large span{font-size:15px}
  .stuyck-boat-mark{font-size:22px!important;margin-bottom:5px}
  .stuyck-goal-card{padding:11px 10px;border-radius:15px}
  .stuyck-goal-card strong{font-size:16px}.stuyck-goal-card.difficulty strong{font-size:15px}.stuyck-goal-card span{font-size:9px}
  .stuyck-frank-card{grid-template-columns:72px minmax(0,1fr);min-height:88px}.stuyck-frank-avatar{width:66px;height:66px;border-radius:15px}.stuyck-frank-card p{font-size:11.5px}
  .stuyck-home-stats b{font-size:16px}.stuyck-home-stats>div{padding:10px 5px}
  .stuyck-desktop-detail{display:none}
  .stuyck-ring-huge{width:min(72vw,285px)}
  .stuyck-ring-huge strong{font-size:51px}
  .stuyck-leader-hero{align-items:flex-start;flex-direction:column;padding:28px 0 18px}
  .stuyck-leader-hero h1{font-size:50px}.stuyck-leader-hero p{font-size:15px}.stuyck-code{min-width:0;width:164px;padding:16px;border-radius:22px}.stuyck-code b{font-size:24px}
  .stuyck-winner-card{grid-template-columns:22px 58px minmax(0,1fr) auto;padding:15px;gap:9px;border-radius:21px}.stuyck-winner-card h2{font-size:23px}.stuyck-winner-card>strong{font-size:24px}
  .stuyck-board>a{grid-template-columns:26px 42px 1fr auto;gap:8px;padding:10px 11px}.stuyck-board .bar{display:none}
  .stuyck-family-grid,.stuyck-competition-grid{grid-template-columns:1fr 1fr;gap:10px}
  .stuyck-family-card{padding:14px}.stuyck-family-card h3{font-size:20px;margin-top:15px}.stuyck-family-stats b{font-size:15px}
  .stuyck-page-title,.stuyck-profile-hero{padding:28px 0 18px}.stuyck-page-title h1,.stuyck-profile-hero h1{font-size:46px}
  .stuyck-member-hero{align-items:flex-start}.stuyck-member-hero h1{font-size:38px}.stuyck-ring-small{width:78px}.stuyck-ring-small strong{font-size:17px}
  .stuyck-chart{min-width:470px}.stuyck-chart-stats{grid-template-columns:1fr 1fr}.stuyck-chart-stats>div:nth-child(2){border-right:0}.stuyck-chart-stats>div:nth-child(-n+2){border-bottom:1px solid #edf1f3}
  .stuyck-two,.stuyck-grid-form{grid-template-columns:1fr}.stuyck-two-fields{grid-template-columns:1fr 1fr}.stuyck-check{grid-column:auto}
  .stuyck-auth-screen{grid-template-columns:1fr;margin:28px auto;gap:13px}.stuyck-auth-art{min-height:240px;padding:24px;border-radius:24px}.stuyck-auth-art h1{font-size:42px}.stuyck-auth{padding:20px;border-radius:21px}
}

@media(max-width:420px){
  .stuyck-shell{padding-left:14px;padding-right:14px}
  .stuyck-topbar{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
  .stuyck-ocean-art{margin-left:-14px;margin-right:-14px}
  .stuyck-home-progress{grid-template-columns:minmax(0,1.18fr) minmax(105px,.82fr);gap:8px}
  .stuyck-ring-large{width:min(47vw,185px)}
  .stuyck-ring-large strong{font-size:38px}.stuyck-ring-large:after{inset:13px}
  .stuyck-goal-card{padding:10px 9px}.stuyck-goal-card small{font-size:9px}.stuyck-goal-card strong{font-size:15px}.stuyck-goal-card.difficulty strong{font-size:14px}.stuyck-goal-card span{font-size:8.5px}
  .stuyck-frank-card{grid-template-columns:66px minmax(0,1fr);padding-left:7px}.stuyck-frank-avatar{width:60px;height:60px}.stuyck-frank-card b{font-size:12px}.stuyck-frank-card p{font-size:11px}
  .stuyck-home-stats b{font-size:15px}.stuyck-home-stats span{font-size:9px}
  .stuyck-family-grid,.stuyck-competition-grid{grid-template-columns:1fr}
  .stuyck-bottom-nav{width:calc(100% - 14px);bottom:7px;height:82px;border-radius:25px}.stuyck-bottom-nav a{height:64px;font-size:9px}.stuyck-bottom-nav a.primary{width:62px;height:62px;border-radius:20px}
  .stuyck-leader-hero h1{font-size:44px}
  .stuyck-two-fields{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){.stuyck-frank-avatar{animation:none}.stuyck-app *{transition-duration:.01ms!important;scroll-behavior:auto!important}}
