.snf-survivor-wrap{
  --survivor-red:#BC0C1C;
  --survivor-deep-red:#6d0712;
  --survivor-gold:#E1A581;
  --survivor-gold-light:#ffd09f;
  --survivor-ink:#261d20;
  --survivor-muted:#75666a;
  --survivor-line:#eadfda;
  --survivor-paper:#fffdfb;
  --survivor-shadow-sm:0 6px 18px rgba(65,26,20,.06);
  --survivor-shadow-md:0 14px 34px rgba(75,24,20,.10);
  --survivor-shadow-lg:0 20px 48px rgba(81,9,20,.20);
  max-width:1120px;
  margin:0 auto 96px;
  padding:12px 12px 112px;
  color:var(--survivor-ink);
  font-family:inherit;
  box-sizing:border-box;
}
.snf-survivor-wrap *{box-sizing:border-box}

/* Heater-suite hero language */
.snf-survivor-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:164px;
  margin:0 0 12px;
  padding:24px 26px 42px;
  color:#fff;
  border:1px solid rgba(255,216,178,.30);
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 15%,rgba(255,191,63,.24),transparent 30%),
    radial-gradient(circle at 83% 18%,rgba(255,255,255,.10),transparent 26%),
    linear-gradient(132deg,#65050e 0%,#9b0817 35%,var(--survivor-red) 62%,#62050e 100%);
  box-shadow:var(--survivor-shadow-lg);
}
.snf-survivor-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.22;
  background:
    linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.08) 46.5% 47%,transparent 47.5% 100%),
    repeating-linear-gradient(125deg,rgba(255,255,255,.035) 0 1px,transparent 1px 12px);
  pointer-events:none;
}
.snf-survivor-hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:4px;
  z-index:3;
  background:linear-gradient(90deg,transparent,var(--survivor-gold) 18%,var(--survivor-gold-light) 50%,var(--survivor-gold) 82%,transparent);
  box-shadow:0 -1px 12px rgba(255,194,132,.42);
}
.snf-survivor-hero-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px}
.snf-survivor-hero-brand{display:flex;align-items:center;gap:19px;min-width:0;flex:1 1 auto}
.snf-survivor-brand-plate{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 106px;
  height:118px;
  overflow:hidden;
  border:1px solid rgba(244,193,159,.34);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.09),transparent 44%),
    linear-gradient(145deg,rgba(48,2,10,.82),rgba(22,1,5,.68));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(255,210,171,.055),0 11px 28px rgba(31,0,6,.27),0 0 24px rgba(225,165,129,.09);
}
.snf-survivor-brand-plate:before{content:"";position:absolute;inset:5px;border:1px solid rgba(244,193,159,.12);border-radius:13px}
.snf-survivor-brand-plate--logo{padding:0}
.snf-survivor-brand-logo{
  position:relative;
  z-index:2;
  display:block;
  width:92%;
  height:92%;
  object-fit:cover;
  object-position:center;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.28));
}
.snf-survivor-brand-plate strong{position:relative;z-index:1;color:#fff;font-size:31px;line-height:1;font-weight:1000;letter-spacing:-.04em;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.snf-survivor-brand-plate small{position:relative;z-index:1;margin-top:7px;color:#ffd49f;font-size:8px;line-height:1;font-weight:1000;letter-spacing:.16em}
.snf-survivor-hero-main{min-width:0}
.snf-survivor-eyebrow,.snf-survivor-label{display:block;color:#d69a76;font-size:10px;line-height:1.2;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.snf-survivor-hero .snf-survivor-eyebrow{color:#ffd49f;font-size:11px;letter-spacing:.14em;text-shadow:0 1px 8px rgba(0,0,0,.22)}
.snf-survivor-hero h1{margin:6px 0 7px;color:#fff;font-size:clamp(21px,4vw,31px);line-height:1.06;font-weight:900;letter-spacing:-.025em;text-shadow:0 2px 14px rgba(45,0,7,.35)}
.snf-survivor-hero p{max-width:650px;margin:0;color:rgba(255,255,255,.90);font-size:clamp(10px,1.75vw,14px);line-height:1.42}
.snf-survivor-week-box{
  min-width:154px;
  padding:14px 15px;
  text-align:center;
  border:1px solid rgba(255,255,255,.25);
  border-radius:17px;
  background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 28px rgba(45,0,8,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.snf-survivor-week-box span{display:block;color:#ffd49f;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.snf-survivor-week-box strong{display:block;margin-top:4px;color:#fff;font-size:25px;line-height:1;font-weight:950;text-shadow:0 1px 8px rgba(0,0,0,.25)}

/* Heater-style overlapping stat strip */
.snf-survivor-stats{
  position:relative;
  z-index:6;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  margin:-30px 18px 16px;
  border:1px solid rgba(94,10,20,.11);
  border-radius:19px;
  background:rgba(255,253,251,.98);
  box-shadow:var(--survivor-shadow-md);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.snf-survivor-stats>div{position:relative;min-width:0;padding:14px 10px 13px;text-align:center}
.snf-survivor-stats>div+div:before{content:"";position:absolute;left:0;top:17%;bottom:17%;width:1px;background:linear-gradient(transparent,rgba(94,10,20,.16),transparent)}
.snf-survivor-stats>div:nth-child(2){background:linear-gradient(180deg,rgba(225,165,129,.18),rgba(225,165,129,.06))}
.snf-survivor-stats>div:nth-child(2):after{content:"";position:absolute;left:22%;right:22%;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--survivor-gold),var(--survivor-gold-light),var(--survivor-gold))}
.snf-survivor-stats span{display:block;color:#75666a;font-size:clamp(6.5px,1.15vw,9px);line-height:1.15;font-weight:900;letter-spacing:clamp(.025em,.09vw,.10em);text-transform:uppercase;overflow-wrap:anywhere}
.snf-survivor-stats strong{display:block;max-width:100%;margin-top:4px;color:var(--survivor-red);font-size:clamp(19px,4.2vw,31px);line-height:1;font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.snf-survivor-stats strong.is-status{font-size:clamp(13px,2.15vw,22px);line-height:1.08;letter-spacing:-.025em;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;text-wrap:balance}.snf-survivor-stats strong.is-alive{color:#177545}.snf-survivor-stats strong.is-out{color:var(--survivor-red)}
.snf-survivor-stats strong.is-time,.snf-survivor-stats strong.is-mode{font-size:clamp(14px,3vw,23px);letter-spacing:-.025em;white-space:normal;overflow-wrap:anywhere}
.snf-survivor-stats small{display:block;margin-top:5px;color:#8a7470;font-size:clamp(6.4px,1.05vw,9px);line-height:1.2;font-weight:800;overflow-wrap:anywhere}

.snf-survivor-card,.snf-survivor-week-head,.snf-survivor-notice,.snf-survivor-savebar{
  background:#fff;
  border:1px solid var(--survivor-line);
  border-radius:18px;
  box-shadow:var(--survivor-shadow-sm);
}
.snf-survivor-card{padding:18px;margin:12px 0}
.snf-survivor-card h2{margin:0 0 6px;color:var(--survivor-deep-red);font-size:22px;line-height:1.15}
.snf-survivor-card p{margin:0;color:var(--survivor-muted);font-size:13px;line-height:1.48}
.snf-survivor-btn{appearance:none;border:0;background:linear-gradient(135deg,var(--survivor-red),#960914);color:#fff!important;font-weight:900;border-radius:999px;min-height:44px;padding:0 19px;cursor:pointer;box-shadow:0 7px 16px rgba(188,12,28,.20);text-decoration:none}
.snf-survivor-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.snf-survivor-btn.is-saved:disabled{opacity:1;background:linear-gradient(135deg,#f7eee4,#fffaf4);color:#7e5b45!important;border:1px solid rgba(206,143,91,.55);box-shadow:none}
.snf-survivor-login{text-align:center;padding-block:28px}.snf-survivor-login .snf-survivor-btn{display:inline-flex;align-items:center;margin-top:15px}

.snf-survivor-week-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;margin:12px 0 8px}
.snf-survivor-week-head h2{margin:3px 0 0;color:var(--survivor-deep-red);font-size:clamp(22px,4.2vw,28px);line-height:1}
.snf-survivor-current-pick{display:flex;align-items:center;gap:10px;max-width:55%;padding:8px 11px;border:1px solid rgba(206,143,91,.5);border-radius:14px;background:linear-gradient(145deg,#fffdf8,#fff5e9)}
.snf-survivor-current-pick.is-locked{background:#f2efee;border-color:#ded7d4}
.snf-survivor-current-pick>div{min-width:0;text-align:left}.snf-survivor-current-pick>div>span{display:block;color:#8d746b;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.snf-survivor-current-pick strong{display:block;margin-top:2px;overflow:hidden;color:var(--survivor-deep-red);font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.snf-survivor-current-pick .snf-survivor-team-logo.is-current{width:42px;height:42px;flex:0 0 42px}
.snf-survivor-current-pick .snf-survivor-team-logo.is-current img{width:40px;height:40px;margin:auto}
.snf-survivor-current-pick .snf-survivor-logo-fallback{display:none;inset:0;border:0;border-radius:0;background:transparent;color:#8d746b}
.snf-survivor-notice{padding:10px 13px;margin:0 0 9px;color:#655650;font-size:11px;line-height:1.4}

/* v0.1.16 — rules bar + on-demand rules modal */
.snf-survivor-rules-bar{appearance:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin:0 0 9px;padding:10px 12px;border:1px solid var(--survivor-line);border-radius:16px;background:linear-gradient(145deg,#fffdfb,#fff7f2);box-shadow:var(--survivor-shadow-sm);color:var(--survivor-ink);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.snf-survivor-rules-bar:active{transform:scale(.992)}
.snf-survivor-rules-bar-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--survivor-red),#850a14);color:#fff;font-size:17px;line-height:1;font-weight:950;box-shadow:0 5px 12px rgba(188,12,28,.18)}
.snf-survivor-rules-bar-copy{min-width:0}.snf-survivor-rules-bar-copy strong,.snf-survivor-rules-bar-copy small{display:block}.snf-survivor-rules-bar-copy strong{color:var(--survivor-deep-red);font-size:12.5px;line-height:1.15;font-weight:950}.snf-survivor-rules-bar-copy small{margin-top:3px;color:#7e6d68;font-size:9px;line-height:1.25;font-weight:750}
.snf-survivor-rules-bar-arrow{padding-left:5px;color:#a77760;font-size:25px;line-height:1;font-weight:600}
.snf-survivor-rules-modal[hidden]{display:none!important}.snf-survivor-rules-modal{position:fixed;inset:0;z-index:22000;display:grid;place-items:center;padding:16px}
.snf-survivor-rules-backdrop{position:absolute;inset:0;background:rgba(31,4,9,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.snf-survivor-rules-dialog{position:relative;width:min(540px,100%);max-height:calc(100dvh - 32px);overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;padding:24px;border:1px solid rgba(237,178,141,.48);border-radius:24px;background:radial-gradient(circle at 88% 0%,rgba(225,165,129,.16),transparent 34%),linear-gradient(160deg,#fffdf9,#f7eee8);box-shadow:0 28px 90px rgba(18,1,5,.48);text-align:left}
.snf-survivor-rules-close{position:absolute;right:14px;top:12px;appearance:none;border:0;background:transparent;color:#7b5d55;font-size:30px;line-height:1;cursor:pointer;padding:4px 8px}
.snf-survivor-rules-kicker{display:block;padding-right:42px;color:#a37057;font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.snf-survivor-rules-dialog h3{margin:5px 42px 5px 0;color:#700812;font-size:28px;line-height:1.06;letter-spacing:-.025em}.snf-survivor-rules-lede{margin:0 0 15px;color:#554f4d;font-size:13px;line-height:1.45}
.snf-survivor-rules-list{display:grid;gap:8px}.snf-survivor-rules-list>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:10px 11px;border:1px solid rgba(112,8,18,.08);border-radius:13px;background:rgba(255,255,255,.72)}.snf-survivor-rules-list b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#710813;color:#fff;font-size:10px;line-height:1;font-weight:950}.snf-survivor-rules-list span,.snf-survivor-rules-list strong,.snf-survivor-rules-list small{display:block}.snf-survivor-rules-list strong{color:#700812;font-size:12.5px;line-height:1.2}.snf-survivor-rules-list small{margin-top:3px;color:#67605d;font-size:10.5px;line-height:1.38}
.snf-survivor-rules-note{margin:11px 0 0!important;padding:9px 11px;border-radius:11px;background:rgba(225,165,129,.14);color:#5c504b!important;font-size:9.5px!important;line-height:1.4!important}.snf-survivor-rules-done{display:flex;align-items:center;justify-content:center;width:100%;margin-top:14px}
body.snf-survivor-rules-open{overflow:hidden}

/* Team picker */
.snf-survivor-games{display:grid;gap:8px}
.snf-survivor-game{display:grid;grid-template-columns:116px minmax(0,1fr);overflow:hidden;border:1px solid var(--survivor-line);border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(34,19,10,.055)}
.snf-survivor-game.is-started{background:#faf8f7}
.snf-survivor-kickoff{display:flex;flex-direction:column;justify-content:center;padding:11px 12px;background:linear-gradient(180deg,#faf6f3,#f6efeb);border-right:1px solid var(--survivor-line)}
.snf-survivor-kickoff span{color:#725f59;font-size:10px;font-weight:850}.snf-survivor-kickoff strong{margin-top:2px;color:#33282a;font-size:11px;font-weight:900}.snf-survivor-kickoff em{margin-top:5px;color:var(--survivor-red);font-size:8px;font-style:normal;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.snf-survivor-matchup{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:stretch}
.snf-survivor-at{align-self:center;text-align:center;color:#a5928b;font-size:11px;font-weight:900}
.snf-survivor-team{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:9px;appearance:none;min-width:0;min-height:78px;padding:9px 11px;border:0;border-radius:0;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}
.snf-survivor-team:not(:disabled):hover{background:#fff8f4}
.snf-survivor-team:not(:disabled):active{transform:scale(.985)}
.snf-survivor-team.is-selected{z-index:1;background:linear-gradient(145deg,#fff9f3,#fff0e8);box-shadow:inset 0 0 0 2px var(--survivor-red)}
.snf-survivor-team.is-used{background:#f4f1f0;color:#9a8f8b}
.snf-survivor-team.is-disabled{cursor:not-allowed}
.snf-survivor-team-logo{position:relative;display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px}
.snf-survivor-team-logo img{position:relative;z-index:2;display:block;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.10))}
.snf-survivor-logo-fallback{position:absolute;inset:4px;z-index:1;display:none;place-items:center;border:1px solid #e1d7d3;border-radius:50%;background:#f7f2ef;color:#7a6761;font-size:10px;font-weight:950}
.snf-survivor-team-copy{display:block;min-width:0;padding-right:5px}.snf-survivor-team-copy strong{display:block;color:#302426;font-size:11px;line-height:1.14;font-weight:900}.snf-survivor-team-copy small{display:block;margin-top:3px;color:#998782;font-size:8px;font-weight:900;letter-spacing:.08em}
.snf-survivor-score{position:absolute;right:8px;top:7px;color:var(--survivor-deep-red);font-size:16px;font-weight:950}
.snf-survivor-used{position:absolute;right:8px;bottom:6px;color:var(--survivor-red);font-size:7px;font-weight:950;letter-spacing:.08em}
.snf-survivor-team.is-used .snf-survivor-team-logo{filter:grayscale(1);opacity:.45}

.snf-survivor-savebar{position:sticky;bottom:82px;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center;margin:12px 0;padding:11px 13px;border-color:rgba(206,143,91,.52);background:rgba(255,252,248,.96);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:0 12px 30px rgba(67,27,18,.13)}
.snf-survivor-selection{overflow:hidden;color:#382b2c;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.snf-survivor-clear-btn{appearance:none;border:0;background:transparent;color:#8a5555;font-size:10px;font-weight:900;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:8px 2px}.snf-survivor-clear-btn:hover{color:var(--survivor-red)}.snf-survivor-clear-btn:disabled{opacity:.45;cursor:not-allowed}.snf-survivor-save-message{grid-column:1/-1;min-height:0;color:var(--survivor-red);font-size:10px;font-weight:800}

/* Personal history */
.snf-survivor-section-title{margin-bottom:10px}.snf-survivor-section-title h2{margin:3px 0 0}
.snf-survivor-history-grid{display:grid;gap:7px}.snf-survivor-history-row{display:grid;grid-template-columns:40px 34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 11px;border:1px solid #eee7e3;border-radius:12px;background:#faf8f7}.snf-survivor-history-row>strong{color:#74615b;font-size:11px}.snf-survivor-history-row>span{overflow:hidden;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.snf-survivor-history-row em{font-style:normal;font-size:8px;font-weight:950;letter-spacing:.09em}.snf-survivor-history-row.is-won em{color:#157a42}.snf-survivor-history-row.is-lost em{color:var(--survivor-red)}.snf-survivor-history-row.is-void em{color:#777}
.snf-survivor-team-logo.is-history{width:32px;height:32px;flex-basis:32px}.snf-survivor-team-logo.is-history img{width:30px;height:30px}

/* Pool board: server-side concealed until the picked game is final. */
.snf-survivor-pool-card{padding:0;overflow:hidden}
.snf-survivor-pool-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px 14px;border-bottom:1px solid #eee5e1}.snf-survivor-pool-head h2{margin:3px 0 4px}.snf-survivor-pool-head p{max-width:650px;font-size:11px}
.snf-survivor-pool-count{flex:0 0 auto;min-width:108px;padding:9px 12px;text-align:center;border:1px solid rgba(206,143,91,.45);border-radius:13px;background:linear-gradient(180deg,#fff8ef,#fffdf9)}.snf-survivor-pool-count strong{display:block;color:var(--survivor-red);font-size:24px;line-height:1;font-weight:950}.snf-survivor-pool-count span{display:block;margin-top:4px;color:#826d66;font-size:7px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.snf-survivor-pool-scroll{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.snf-survivor-pool-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.snf-survivor-pool-table th,.snf-survivor-pool-table td{height:60px;min-width:68px;padding:6px;border-right:1px solid #f0eae7;border-bottom:1px solid #f0eae7;text-align:center;vertical-align:middle}.snf-survivor-pool-table thead th{height:34px;background:#f9f5f2;color:#7d6861;font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;position:sticky;top:0;z-index:3}.snf-survivor-pool-table .is-player{position:sticky;left:0;z-index:4;width:178px;min-width:178px;max-width:178px;text-align:left;background:#fff}.snf-survivor-pool-table thead .is-player{z-index:5;background:#f9f5f2}.snf-survivor-pool-table tr.is-eliminated .is-player{background:#faf7f6}.snf-survivor-player-name{display:block;overflow:hidden;color:#332729;font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.snf-survivor-player-name small{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;background:#f2dfd3;color:#8d4a31;font-size:6px;font-weight:950;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}.snf-survivor-player-status{display:block;margin-top:3px;color:#6d8175;font-size:7px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.is-eliminated .snf-survivor-player-status{color:#a46b70}
.snf-survivor-pool-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.snf-survivor-team-logo.is-pool{width:34px;height:34px;flex-basis:34px}.snf-survivor-team-logo.is-pool img{width:32px;height:32px}.snf-survivor-pool-pick small{color:#7d6d68;font-size:7px;font-weight:950;letter-spacing:.05em}.snf-survivor-pool-pick.is-lost,.snf-survivor-pool-pick.is-void{opacity:.54;filter:grayscale(.8)}.snf-survivor-pool-empty{color:#c9beba;font-weight:900}.snf-survivor-hidden-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:42px;color:#968985}.snf-survivor-hidden-pick b{display:block;padding:4px 6px;border:1px solid #e3d9d5;border-radius:7px;background:#f5f1ef;font-size:6px;line-height:1;font-weight:950;letter-spacing:.08em}.snf-survivor-hidden-pick small{font-size:7px;font-weight:800}

.snf-survivor-rules ol{margin:8px 0 0;padding-left:21px}.snf-survivor-rules li{padding:4px 0;color:#594b47;font-size:12px;line-height:1.4}
.snf-survivor-eliminated{display:flex;gap:13px;align-items:center;border-color:#efc2c6;background:linear-gradient(145deg,#fffafa,#fff5f6)}.snf-survivor-skull{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;background:var(--survivor-red);color:#fff;font-size:25px;font-weight:900}.snf-survivor-error{color:var(--survivor-red)!important;font-weight:800}.snf-survivor-empty{text-align:center;padding:28px 18px}

@media(max-width:520px){.snf-survivor-rules-bar{grid-template-columns:32px minmax(0,1fr) auto;padding:9px 10px}.snf-survivor-rules-bar-icon{width:32px;height:32px;font-size:16px}.snf-survivor-rules-bar-copy strong{font-size:11.5px}.snf-survivor-rules-bar-copy small{font-size:8px}.snf-survivor-rules-modal{padding:9px}.snf-survivor-rules-dialog{max-height:calc(100dvh - 18px);padding:20px 15px;border-radius:21px}.snf-survivor-rules-dialog h3{font-size:23px}.snf-survivor-rules-lede{font-size:11.5px}.snf-survivor-rules-list{gap:6px}.snf-survivor-rules-list>div{padding:8px 9px;grid-template-columns:25px minmax(0,1fr);gap:8px}.snf-survivor-rules-list b{width:25px;height:25px;font-size:9px}.snf-survivor-rules-list strong{font-size:11.5px}.snf-survivor-rules-list small{font-size:9.5px}}

@media(max-width:760px){
  .snf-survivor-wrap{margin-bottom:96px;padding:8px 7px 110px}
  .snf-survivor-hero{min-height:0;padding:16px 15px 38px;border-radius:20px}
  .snf-survivor-hero-content{gap:11px}
  .snf-survivor-hero-brand{gap:11px}
  .snf-survivor-brand-plate{flex-basis:75px;width:75px;height:80px;border-radius:15px}
  .snf-survivor-brand-plate:before{inset:4px;border-radius:11px}
  .snf-survivor-brand-plate strong{font-size:24px}.snf-survivor-brand-plate small{font-size:6px;letter-spacing:.11em}
  .snf-survivor-hero .snf-survivor-eyebrow{font-size:8px;letter-spacing:.11em}
  .snf-survivor-hero h1{margin:4px 0 5px;font-size:24px;line-height:1.05}
  .snf-survivor-hero p{font-size:11px;line-height:1.35}
  .snf-survivor-week-box{min-width:82px;padding:9px 8px;border-radius:13px}.snf-survivor-week-box span{font-size:6.5px;letter-spacing:.08em}.snf-survivor-week-box strong{font-size:19px}
  .snf-survivor-stats{margin:-22px 9px 13px;border-radius:16px}.snf-survivor-stats>div{padding:10px 3px 9px}.snf-survivor-stats span{font-size:clamp(6.2px,1.8vw,7px);letter-spacing:.04em}.snf-survivor-stats strong{font-size:clamp(18px,6vw,23px)}.snf-survivor-stats strong.is-status{font-size:clamp(12px,4vw,17px)}.snf-survivor-stats strong.is-time,.snf-survivor-stats strong.is-mode{font-size:clamp(12px,4.5vw,17px)}.snf-survivor-stats small{font-size:clamp(6px,1.8vw,7px);line-height:1.15}
  .snf-survivor-card{padding:15px;margin:10px 0}.snf-survivor-card h2{font-size:19px}
  .snf-survivor-week-head{padding:12px 13px}.snf-survivor-week-head h2{font-size:24px}.snf-survivor-current-pick{max-width:58%;gap:7px;padding:6px 8px}.snf-survivor-current-pick strong{font-size:10px}.snf-survivor-current-pick .snf-survivor-team-logo.is-current{width:34px;height:34px;flex-basis:34px}.snf-survivor-current-pick .snf-survivor-team-logo.is-current img{width:34px;height:34px}
  .snf-survivor-game{grid-template-columns:78px minmax(0,1fr);border-radius:15px}.snf-survivor-kickoff{padding:8px}.snf-survivor-kickoff span,.snf-survivor-kickoff strong{font-size:8px}.snf-survivor-kickoff em{font-size:6.5px}
  .snf-survivor-matchup{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}.snf-survivor-at{font-size:9px}
  .snf-survivor-team{grid-template-columns:42px minmax(0,1fr);gap:5px;min-height:69px;padding:7px 5px}.snf-survivor-team-logo{width:40px;height:40px;flex-basis:40px}.snf-survivor-team-logo img{width:38px;height:38px}.snf-survivor-team-copy strong{font-size:8.5px;line-height:1.1}.snf-survivor-team-copy small{font-size:6.5px}.snf-survivor-used{right:5px;bottom:4px;font-size:5.5px}.snf-survivor-score{right:5px;top:4px;font-size:13px}
  .snf-survivor-savebar{bottom:76px;grid-template-columns:minmax(0,1fr) auto;padding:10px 11px}.snf-survivor-selection{font-size:11px}.snf-survivor-clear-btn{grid-column:1/2;justify-self:start;padding:2px 0;font-size:9px}.snf-survivor-savebar>.snf-survivor-btn{grid-column:2/3;grid-row:1/3}.snf-survivor-btn{min-height:40px;padding:0 15px;font-size:11px}
  .snf-survivor-pool-head{padding:14px 13px 11px;align-items:flex-start}.snf-survivor-pool-head p{font-size:9px}.snf-survivor-pool-count{min-width:82px;padding:8px}.snf-survivor-pool-count strong{font-size:20px}.snf-survivor-pool-table .is-player{width:134px;min-width:134px;max-width:134px}.snf-survivor-pool-table th,.snf-survivor-pool-table td{height:56px;min-width:60px;padding:4px}.snf-survivor-player-name{font-size:9px}.snf-survivor-player-status{font-size:6px}
  .snf-survivor-history-row{grid-template-columns:34px 30px minmax(0,1fr) auto;gap:6px;padding:7px 8px}.snf-survivor-history-row>span{font-size:10px}.snf-survivor-history-row em{font-size:6.5px}
}

@media(max-width:390px){
  .snf-survivor-brand-plate{flex-basis:66px;width:66px;height:70px}.snf-survivor-brand-plate strong{font-size:21px}
  .snf-survivor-hero h1{font-size:21px}.snf-survivor-hero p{font-size:10px}.snf-survivor-week-box{min-width:70px;padding-inline:6px}.snf-survivor-week-box strong{font-size:17px}
  .snf-survivor-stats span{font-size:6.2px;letter-spacing:.025em}.snf-survivor-stats strong{font-size:clamp(17px,5.2vw,20px)}.snf-survivor-stats strong.is-status{font-size:clamp(11.5px,3.9vw,15px)}.snf-survivor-stats strong.is-time,.snf-survivor-stats strong.is-mode{font-size:clamp(11.5px,4vw,15px)}.snf-survivor-stats small{font-size:6.1px}
  .snf-survivor-team{grid-template-columns:38px minmax(0,1fr)}.snf-survivor-team-logo{width:36px;height:36px;flex-basis:36px}.snf-survivor-team-logo img{width:34px;height:34px}.snf-survivor-team-copy strong{font-size:8px}
}


/* v0.1.6 narrow-screen hardening */
.snf-survivor-wrap section,.snf-survivor-wrap article,.snf-survivor-wrap button,.snf-survivor-wrap a{max-width:100%}
.snf-survivor-hero-main,.snf-survivor-week-head>div,.snf-survivor-current-pick>div,.snf-survivor-team-copy{min-width:0}
@media(max-width:520px){
  .snf-survivor-hero-content{align-items:flex-start}
  .snf-survivor-hero-brand{align-items:flex-start}
  .snf-survivor-week-box{flex:0 1 78px;min-width:64px}
  .snf-survivor-stats>div{min-height:78px;display:flex;flex-direction:column;justify-content:center}
  .snf-survivor-stats strong.is-status{hyphens:none}
}
@media(max-width:350px){
  .snf-survivor-wrap{padding-left:4px;padding-right:4px}
  .snf-survivor-hero{padding-left:10px;padding-right:10px}
  .snf-survivor-brand-plate{flex-basis:58px;width:58px;height:64px}
  .snf-survivor-brand-plate strong{font-size:19px}
  .snf-survivor-week-box{min-width:58px;padding:8px 5px}
  .snf-survivor-stats{margin-left:5px;margin-right:5px}
  .snf-survivor-stats>div{padding-left:2px;padding-right:2px}
  .snf-survivor-game{grid-template-columns:1fr}
  .snf-survivor-kickoff{display:flex;align-items:center;justify-content:space-between;gap:7px;border-right:0;border-bottom:1px solid #eee4df}
  .snf-survivor-kickoff em{margin-top:0}
}

/* v0.1.7 Heater-aligned first-visit onboarding */
.snf-survivor-onboarding[hidden]{display:none!important}
.snf-survivor-onboarding{position:fixed;inset:0;z-index:21000;display:grid;place-items:center;padding:18px}
.snf-survivor-onboarding-backdrop{position:absolute;inset:0;background:rgba(31,4,9,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.snf-survivor-onboarding-dialog{position:relative;width:min(540px,100%);max-height:calc(100vh - 36px);overflow:auto;box-sizing:border-box;padding:26px;border:1px solid rgba(237,178,141,.48);border-radius:24px;background:radial-gradient(circle at 88% 0%,rgba(225,165,129,.16),transparent 34%),linear-gradient(160deg,#fffdf9,#f7eee8);box-shadow:0 28px 90px rgba(18,1,5,.48);text-align:left}
.snf-survivor-onboarding-brand{float:right;display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;height:94px;margin:-4px -2px 8px 18px;border:1px solid rgba(225,165,129,.3);border-radius:18px;background:radial-gradient(circle at 50% 20%,rgba(188,12,28,.38),transparent 62%),linear-gradient(150deg,#5a0711,#200105);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 9px 24px rgba(56,4,12,.23);color:#fff}
.snf-survivor-onboarding-brand strong{font-size:26px;line-height:1;font-weight:950;letter-spacing:-.03em}.snf-survivor-onboarding-brand small{margin-top:9px;color:#f0bd99;font-size:7px;font-weight:950;letter-spacing:.13em}
.snf-survivor-onboarding-brand--logo{padding:0;overflow:hidden}
.snf-survivor-onboarding-logo{
  display:block;
  width:94%;
  height:94%;
  object-fit:cover;
  object-position:center;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.28));
}
.snf-survivor-onboarding-kicker{display:block;color:#a37057;font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.snf-survivor-onboarding-dialog h3{max-width:390px;margin:5px 0 8px;color:#700812;font-size:28px;line-height:1.06;letter-spacing:-.025em}.snf-survivor-onboarding-lede{max-width:430px;margin:0 0 18px;color:#554f4d;font-size:13.5px;line-height:1.5}
.snf-survivor-onboarding-steps{display:grid;grid-template-columns:1fr 1fr;gap:9px;clear:both}.snf-survivor-onboarding-steps>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:11px;border:1px solid rgba(112,8,18,.08);border-radius:14px;background:rgba(255,255,255,.7)}.snf-survivor-onboarding-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#710813;color:#fff;font-size:11px}.snf-survivor-onboarding-steps span,.snf-survivor-onboarding-steps strong,.snf-survivor-onboarding-steps small{display:block}.snf-survivor-onboarding-steps strong{color:#700812;font-size:12.5px;line-height:1.2}.snf-survivor-onboarding-steps small{margin-top:3px;color:#67605d;font-size:10.5px;line-height:1.35}
.snf-survivor-onboarding-note{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:rgba(225,165,129,.14);color:#5c504b;font-size:10.5px;line-height:1.45}.snf-survivor-onboarding-note strong{color:#790b16}.snf-survivor-onboarding-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.snf-survivor-onboarding-actions .snf-survivor-btn{border-radius:12px}
body.snf-survivor-onboarding-open{overflow:hidden}
@media(max-width:600px){.snf-survivor-onboarding{padding:10px}.snf-survivor-onboarding-dialog{max-height:calc(100vh - 20px);padding:20px 17px;border-radius:21px}.snf-survivor-onboarding-brand{width:61px;height:77px;margin:0 0 8px 14px;border-radius:15px}.snf-survivor-onboarding-brand strong{font-size:22px}.snf-survivor-onboarding-brand small{font-size:6px;margin-top:7px}.snf-survivor-onboarding-dialog h3{font-size:23px}.snf-survivor-onboarding-lede{font-size:12px}.snf-survivor-onboarding-steps{grid-template-columns:1fr;gap:7px}.snf-survivor-onboarding-steps>div{padding:9px}.snf-survivor-onboarding-actions{display:grid;grid-template-columns:1fr}.snf-survivor-onboarding-actions .snf-survivor-btn{width:100%;box-sizing:border-box;text-align:center}}


/* SNF Survivor v0.1.10 — installed-app exclusive gate. */
.snf-survivor-app-exclusive-content[hidden],
.snf-survivor-app-gate[hidden]{display:none!important}
.snf-survivor-app-gate{width:min(760px,calc(100% - 24px));margin:26px auto;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.snf-survivor-app-gate-card{position:relative;overflow:hidden;text-align:center;padding:34px 28px 30px;border:1px solid rgba(184,111,70,.42);border-radius:26px;background:linear-gradient(145deg,#fffdfb 0%,#fff7f1 62%,#fcecdf 100%);box-shadow:0 18px 46px rgba(66,20,18,.13),inset 0 1px 0 rgba(255,255,255,.92);color:#2c1718}
.snf-survivor-app-gate-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#dba17e,#bc0c1c 58%,#730b13)}
.snf-survivor-app-gate-logo{display:grid;place-items:center;width:92px;height:92px;margin:0 auto 13px;border-radius:24px;background:linear-gradient(145deg,#3c090e,#8f101c);box-shadow:inset 0 0 0 1px rgba(239,189,149,.28),0 10px 24px rgba(93,10,19,.22)}
.snf-survivor-app-gate-logo img{display:block;width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}
.snf-survivor-app-gate-kicker{display:inline-block;margin:0 0 8px;color:#a40d1a;font-size:11px;font-weight:950;letter-spacing:.16em}
.snf-survivor-app-gate h2{margin:0 auto 10px;color:#7d0b15;font-size:clamp(28px,6vw,42px);line-height:1.02;letter-spacing:-.035em;font-weight:950}
.snf-survivor-app-gate p{max-width:560px;margin:0 auto 18px;color:#594548;font-size:clamp(15px,3.7vw,18px);line-height:1.45}
.snf-survivor-app-gate-cta{display:inline-flex!important;align-items:center;justify-content:center;min-width:190px;background:#bc0c1c!important;color:#fff!important;border:none!important;border-radius:999px!important;padding:10px 16px!important;font-weight:900!important;text-decoration:none!important;cursor:pointer;box-shadow:none!important;opacity:1!important}
.snf-survivor-app-gate small{display:block;margin:12px auto 0;max-width:520px;color:#887175;font-size:12px;line-height:1.35}
@media (display-mode:standalone){.snf-survivor-app-gate{display:none!important}.snf-survivor-app-exclusive-content[hidden]{display:block!important}}
@media(max-width:520px){.snf-survivor-app-gate{width:calc(100% - 20px);margin:18px auto}.snf-survivor-app-gate-card{padding:28px 18px 24px;border-radius:22px}.snf-survivor-app-gate-logo{width:78px;height:78px;border-radius:21px}.snf-survivor-app-gate-kicker{font-size:9.5px}.snf-survivor-app-gate p{margin-bottom:16px}.snf-survivor-app-gate-cta{width:100%}}

/* SNF Survivor v0.1.15 — postseason + Super Bowl tiebreaker */
.snf-survivor-tiebreak{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px 14px;align-items:center;margin:12px 0;padding:14px 15px;border:1px solid rgba(188,12,28,.14);border-radius:16px;background:linear-gradient(145deg,#fffdf9,#fff5ee)}
.snf-survivor-tiebreak label span,.snf-survivor-tiebreak label strong{display:block}.snf-survivor-tiebreak label span{color:#a37057;font-size:8px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.snf-survivor-tiebreak label strong{margin-top:3px;color:#700812;font-size:15px}.snf-survivor-tiebreak input{width:100%;box-sizing:border-box;min-height:46px;padding:8px 10px;border:1px solid rgba(112,8,18,.22);border-radius:12px;background:#fff;color:#2b1719;font-size:18px;font-weight:900;text-align:center;outline:none}.snf-survivor-tiebreak input:focus{border-color:#bc0c1c;box-shadow:0 0 0 3px rgba(188,12,28,.08)}
.snf-survivor-tiebreak small{grid-column:1/-1;color:#74625f;font-size:9.5px;line-height:1.4}.snf-survivor-history-row em small{display:block;margin-top:2px;font-size:5.5px;letter-spacing:.05em}.snf-survivor-champion{border-color:rgba(219,161,126,.55);background:linear-gradient(145deg,#fffdf8,#fff2e7)}
@media(max-width:520px){.snf-survivor-tiebreak{grid-template-columns:minmax(0,1fr) 88px;padding:12px}.snf-survivor-tiebreak label strong{font-size:13px}.snf-survivor-tiebreak input{min-height:42px;font-size:16px}}
