@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,700&display=swap');
:root{--bg:#130f19;--bg2:#1b1422;--panel:#211928;--ink:#f5eee6;--muted:#a89eaa;--line:#3b2f43;--red:#ffda24;--red2:#d4a900;--gold:#ffda24;--yellow:#ffda24;--danger:#ef3d52;--danger2:#ba2439;--green:#5ccb94}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 78% 6%,#352033 0,transparent 27%),var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;min-height:100vh}.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 max(24px,calc((100vw - 1180px)/2));position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;letter-spacing:.18em;font-weight:700}.brand b{color:var(--red)}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--red);border-radius:50%;font-family:"Playfair Display";color:var(--red);font-size:19px}.site-header nav{display:flex;align-items:center;gap:25px;font-size:14px}.site-header nav>a:not(.icon-link),.link-button{color:var(--muted);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}.site-header nav>a:hover,.link-button:hover{color:var(--ink)}.icon-link{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.icon-link svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.7}.inline{display:inline}main{max-width:1180px;margin:auto;padding:0 24px;min-height:calc(100vh - 160px)}footer{max-width:1180px;margin:80px auto 0;border-top:1px solid var(--line);padding:28px 24px 38px;display:flex;justify-content:space-between;color:#756b79;font-size:12px;letter-spacing:.08em;text-transform:uppercase}footer a{text-decoration:none}.footer-links{display:flex;gap:20px}
.hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}.eyebrow{color:var(--red);letter-spacing:.19em;font-weight:700;font-size:11px;margin:0 0 18px;text-transform:uppercase}.hero h1,.form-intro h1,.rules-hero h1,.results-head h1{font-size:clamp(58px,7vw,100px);line-height:.91;letter-spacing:-.055em;margin:0 0 28px}.hero h1 em,.form-intro h1 em,.rules-hero h1 em,.results-head h1 em{font-family:"Playfair Display",serif;color:var(--red);font-weight:700}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:550px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.button{border:0;border-radius:4px;display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:15px 21px;font:700 13px "DM Sans";letter-spacing:.04em;text-decoration:none;cursor:pointer;transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--red);color:#17111d}.button.primary:hover{background:#ffe66b}.button.danger:hover{background:#ff4b60}.button.ghost{border:1px solid var(--line);background:transparent;color:var(--ink)}.button.danger{background:var(--danger2);color:#fff}.button.full{width:100%}
.hero-visual{height:510px;position:relative;display:grid;place-items:center}.target-rings{width:390px;height:390px;position:relative;display:grid;place-items:center}.ring{position:absolute;border:1px solid #5b3548;border-radius:50%}.r1{inset:0}.r2{inset:21%}.r3{inset:41%;border-color:var(--red);box-shadow:0 0 28px #ffda2430}.crosshair{position:absolute;background:#5b3548}.crosshair.h{height:1px;width:100%}.crosshair.v{width:1px;height:100%}.target-dot{width:13px;height:13px;border-radius:50%;background:var(--red);box-shadow:0 0 35px var(--red)}.status-card{position:absolute;bottom:21px;right:5px;background:#241a28;border:1px solid var(--line);padding:14px 18px;font-size:10px;letter-spacing:.16em;font-weight:700}.pulse{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:9px;box-shadow:0 0 0 5px #ffda2420}.metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:27px 0}.metrics div{display:flex;align-items:baseline;justify-content:center;gap:13px;border-right:1px solid var(--line)}.metrics div:last-child{border:0}.metrics strong{font:italic 700 33px "Playfair Display";color:var(--red)}.metrics span{color:var(--muted);font-size:12px}.center-callout{text-align:center;padding:90px 10px}.center-callout h2{font-size:38px}
.form-layout{display:grid;grid-template-columns:1fr 470px;gap:90px;align-items:center;padding:75px 0}.form-intro h1{font-size:70px}.form-intro p:last-child{color:var(--muted);font-size:17px;line-height:1.7;max-width:500px}.panel{background:linear-gradient(145deg,#241b2b,#1d1723);border:1px solid var(--line);border-radius:6px}.form-panel{padding:35px}.form-panel label,.kill-form label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:18px;letter-spacing:.04em}.form-panel input,.kill-form input{display:block;width:100%;margin-top:8px;background:#17121c;border:1px solid var(--line);border-radius:4px;padding:14px;color:var(--ink);font:15px inherit;outline:none}.form-panel input:focus,.kill-form input:focus{border-color:var(--red);box-shadow:0 0 0 3px #ffda2418}.fine-print{text-align:center;color:var(--muted);font-size:11px;line-height:1.5;margin:17px 0 0}.fine-print a{color:var(--ink)}.narrow-page{max-width:470px;margin:85px auto}.narrow-page h1{font-size:54px;margin:0 0 30px}
.flash{max-width:750px;margin:18px auto -10px;padding:13px 18px;border:1px solid;border-radius:4px;font-size:13px;position:relative;z-index:5}.flash-success{background:#17372d;border-color:#286d54;color:#a8e6cc}.flash-error{background:#3d1821;border-color:#8a293b;color:#ffbdc7}.flash-warning{background:#3c321c;border-color:#786330;color:#f0d58f}.flash-info{background:#1b2e3d;border-color:#315b78;color:#b6daf3}
.dashboard-head{display:flex;justify-content:space-between;align-items:end;padding:60px 0 35px}.dashboard-head h1{font-size:50px;margin:0}.score-pill{width:90px;height:90px;border:1px solid var(--red);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-pill strong{font:italic 700 28px "Playfair Display";color:var(--red)}.score-pill span{color:var(--muted);font-size:10px;text-transform:uppercase}.waiting,.eliminated{min-height:300px;padding:50px;display:flex;align-items:center;justify-content:center;gap:45px}.waiting h2,.eliminated h2{font-size:35px;margin:0 0 12px}.waiting p:last-child,.eliminated p{color:var(--muted)}.radar-icon{font-size:80px;color:var(--red)}.eliminated{display:block;text-align:center}.target-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.target-card,.code-card{padding:35px;text-align:center;min-height:340px}.target-avatar,.avatar{margin:15px auto;width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:#3a2435;border:1px solid #754157;color:var(--red);font:italic 700 43px "Playfair Display"}.target-card h2{font-size:36px;margin:12px 0}.target-card>p:last-child,.warning-text{color:var(--muted);font-size:13px}.secret-code{border:0;background:transparent;color:var(--ink);width:100%;padding:42px 0;cursor:pointer}.secret-code span{font:700 29px monospace;letter-spacing:.13em;display:block}.secret-code small{display:block;color:var(--muted);margin-top:12px}.warning-text{border-top:1px solid var(--line);padding-top:20px}.kill-form{margin-top:18px;padding:30px 35px;display:grid;grid-template-columns:1fr 340px;align-items:center;gap:70px}.kill-form h2{font-size:27px;margin:0 0 8px}.kill-form p:last-child{color:var(--muted);font-size:13px}.code-input{text-align:center;font:700 22px monospace!important;letter-spacing:.15em}.my-kills{margin-top:45px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{padding:8px 13px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:12px}
.rules-hero{padding:85px 0 60px;max-width:860px}.rules-hero h1{font-size:75px}.rules-hero>p:last-child{color:var(--muted);font-size:18px;line-height:1.7;max-width:650px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.rule{padding:40px;display:grid;grid-template-columns:45px 1fr;gap:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.rule>span{font:italic 700 20px "Playfair Display";color:var(--red)}.rule h2{margin:0 0 10px;font-size:21px}.rule p{color:var(--muted);line-height:1.65;font-size:14px;margin:0}.safety{margin-top:50px;padding:40px}.safety h2{font-size:30px}.safety li{margin:13px 0;color:var(--muted);line-height:1.6}.safety li::marker{color:var(--red)}
.results-head{display:flex;justify-content:space-between;align-items:center;padding:70px 0 50px}.results-head h1{font-size:68px}.winner{text-align:center;border:1px solid var(--gold);border-radius:50%;width:180px;height:180px;display:flex;flex-direction:column;justify-content:center}.winner span,.winner small{color:var(--gold);font-size:10px;letter-spacing:.16em}.winner strong{font:italic 700 21px "Playfair Display";margin:7px}.results-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.leaderboard,.ring-panel{padding:30px}.leaderboard ol{list-style:none;padding:0;margin:0}.leaderboard li{display:grid;grid-template-columns:28px 40px 1fr auto auto;align-items:center;gap:10px;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.rank{color:var(--muted)}.avatar.small{width:34px;height:34px;font-size:16px;margin:0}.leaderboard li>b{color:var(--red);font-size:17px}.survivor{color:var(--green);font-size:8px;letter-spacing:.12em}.ring-chart{width:100%;aspect-ratio:1;position:relative;max-height:500px}.ring-chart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.ring-chart svg path:not(defs path){fill:none;stroke:#744051;stroke-width:1.1;opacity:.65}.ring-chart marker path{fill:var(--red)}.ring-node{position:absolute;transform:translate(-50%,-50%);text-align:center;width:70px}.ring-node span{margin:auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#352334;border:1px solid #7b465b;color:var(--ink);font-weight:700}.ring-node small{display:block;margin-top:4px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-section{max-width:800px;margin:80px auto}.timeline-section h2{font-size:35px}.timeline article{display:grid;grid-template-columns:165px 22px 1fr;gap:15px;min-height:70px}.timeline time{color:var(--muted);font-size:11px;text-align:right;padding-top:4px}.timeline-dot{position:relative}.timeline-dot:before{content:"";width:7px;height:7px;background:var(--red);border-radius:50%;position:absolute;top:4px;left:7px}.timeline-dot:after{content:"";position:absolute;top:13px;bottom:0;left:10px;width:1px;background:var(--line)}.timeline p{margin:0;font-size:14px}
.phase{padding:9px 14px;border:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.phase-active{color:var(--red);border-color:var(--red)}.phase-finished{color:var(--green)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-stats>div{padding:25px;display:flex;align-items:baseline;gap:10px}.admin-stats strong{font:italic 700 34px "Playfair Display";color:var(--red)}.admin-stats span{color:var(--muted)}.admin-control{margin-top:18px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:25px}.admin-control h2{margin:0}.admin-control p:last-child{color:var(--muted);font-size:13px}.table-panel{margin-top:18px;padding:30px}.section-title h2{margin:0 0 20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}th,td{padding:13px 10px;border-bottom:1px solid var(--line)}.mini-status{font-size:10px}.mini-status.alive{color:var(--green)}.mini-status.dead{color:var(--muted)}
@media(max-width:800px){.site-header{height:68px}.brand span:last-child{display:none}.site-header nav{gap:14px}main{padding:0 16px}.hero{grid-template-columns:1fr;min-height:auto;padding:65px 0}.hero-visual{height:340px}.target-rings{width:290px;height:290px}.status-card{right:10px}.metrics span{font-size:9px}.metrics div{gap:6px;flex-direction:column;align-items:center}.form-layout{grid-template-columns:1fr;gap:30px;padding:55px 0}.form-intro h1{font-size:54px}.form-panel{padding:25px}.target-grid,.results-layout{grid-template-columns:1fr}.kill-form{grid-template-columns:1fr;gap:20px}.rules-grid{grid-template-columns:1fr}.rule{padding:28px}.results-head{align-items:flex-start}.winner{width:125px;height:125px}.results-head h1{font-size:50px}.winner strong{font-size:16px}.ring-panel{padding:15px}.admin-control{align-items:flex-start;flex-direction:column}.dashboard-head h1{font-size:38px}.waiting{padding:30px;display:block}.rules-hero h1{font-size:55px}.admin-stats>div{padding:15px}.timeline article{grid-template-columns:100px 18px 1fr}.timeline time{font-size:9px}}

/* Duck identity and PIN-first multi-game interface */
.brand-duck{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 10px #ffdf303d)}
.duck-hero{grid-template-columns:1fr 1fr}
.duck-stage{height:570px;position:relative;display:grid;place-items:center;isolation:isolate}
.duck-stage:after{content:"";position:absolute;width:62%;height:18%;bottom:10%;border-radius:50%;background:#ffdc241c;filter:blur(30px);z-index:-2}
.duck-stage>img{width:min(100%,560px);position:relative;z-index:2;filter:drop-shadow(0 35px 50px #0008);animation:duck-float 5s ease-in-out infinite}
.duck-orbit{position:absolute;border:1px solid #ffda2848;border-radius:50%;z-index:-1}
.orbit-one{width:450px;height:450px}
.orbit-two{width:330px;height:330px;border-style:dashed;animation:orbit-spin 30s linear infinite}
.duck-stage .status-card{z-index:3;right:0;bottom:35px;border-color:#8f7620}
@keyframes duck-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#18121e}
.how-it-works article{padding:28px 30px;border-right:1px solid var(--line);display:grid;grid-template-columns:38px 1fr;column-gap:12px}
.how-it-works article:last-child{border:0}
.how-it-works span{grid-row:1/3;color:var(--yellow);font:italic 700 20px "Playfair Display"}
.how-it-works strong{font-size:14px}.how-it-works p{color:var(--muted);font-size:11px;margin:5px 0 0}
.pin-input{text-align:center;font:700 28px monospace!important;letter-spacing:.38em;padding-left:calc(14px + .38em)!important;color:#ffe45e!important}
.pin-layout .form-panel,.pin-login .form-panel{border-color:#7a671f;box-shadow:0 20px 70px #0003}
.pin-login{position:relative}.login-duck{display:block;width:120px;height:120px;object-fit:contain;margin:0 auto -15px;filter:drop-shadow(0 15px 20px #0006)}
.rules-hero{position:relative;isolation:isolate}.rules-duck{position:absolute;width:330px;right:-200px;bottom:-65px;opacity:.16;z-index:-1;transform:rotate(8deg)}
.admin-duck{width:125px;height:125px;object-fit:contain;margin-bottom:-20px;filter:drop-shadow(0 14px 22px #0006)}
.admin-overview{display:grid;grid-template-columns:390px 1fr;gap:22px;align-items:start}
.create-game h2{font-size:30px;margin:0 0 25px}
.game-list>.eyebrow{margin:8px 0 15px}
.game-row{display:grid;grid-template-columns:115px 1fr 25px;align-items:center;gap:20px;padding:20px;margin-bottom:10px;text-decoration:none;transition:.2s transform,.2s border-color}
.game-row:hover{transform:translateX(4px);border-color:#a4871e}
.game-row>span:nth-child(2){display:flex;flex-direction:column;gap:5px}.game-row strong{font-size:17px}.game-row small{color:var(--muted)}.game-row>b{color:var(--yellow);font-size:20px}
.empty-games{padding:45px;text-align:center;color:var(--muted)}.empty-games strong{color:var(--ink)}
.back-link{display:inline-block;margin-top:35px;color:var(--muted);font-size:12px;text-decoration:none}.back-link:hover{color:var(--ink)}
@media(max-width:800px){
  .duck-hero{grid-template-columns:1fr}.duck-stage{height:390px}.duck-stage>img{width:360px}.orbit-one{width:330px;height:330px}.orbit-two{width:250px;height:250px}
  .how-it-works{grid-template-columns:1fr}.how-it-works article{border-right:0;border-bottom:1px solid var(--line)}
  .admin-overview{grid-template-columns:1fr}.admin-duck{width:90px;height:90px}
  .rules-duck{right:-80px;width:240px}.game-row{grid-template-columns:95px 1fr 18px;gap:10px;padding:16px}
}

/* Live player roster */
.player-roster{margin-top:52px}
.roster-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.roster-heading h2{font-size:30px;margin:0}
.roster-counts{display:flex;gap:18px;color:var(--muted);font-size:11px;white-space:nowrap}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}
.status-dot.alive{background:var(--green);box-shadow:0 0 0 4px #5ccb9416}
.status-dot.dead{background:#716776}
.roster-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.roster-player{min-width:0;padding:15px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px}
.roster-player.is-dead{opacity:.58;filter:saturate(.45)}
.roster-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#352334;border:1px solid #754157;color:var(--ink);font:italic 700 17px "Playfair Display"}
.roster-player.is-alive .roster-avatar{border-color:#35775b}
.roster-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}
.roster-name small{margin-left:7px;color:var(--red);font-size:8px;letter-spacing:.12em}
.roster-state{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.table-action{width:58px;text-align:right}
.table-action form{display:inline-flex;margin:0}
.icon-danger{width:44px;height:44px;display:grid;place-items:center;border:1px solid #66303a;border-radius:4px;background:#351a22;color:#ff8190;cursor:pointer;transition:.2s background,.2s border-color,.2s transform}
.icon-danger:hover,.icon-danger:focus-visible{background:#541d2a;border-color:var(--danger);transform:translateY(-1px)}
.icon-danger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.danger-zone{margin-top:18px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-color:#5b2934}
.danger-zone h2{margin:0 0 7px;font-size:25px}.danger-zone p:last-child{margin:0;color:var(--muted);font-size:13px}
.welcome-hero{min-height:390px;display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:45px;padding:45px 0 25px}
.welcome-hero h1{font-size:clamp(52px,6vw,78px);line-height:.96;letter-spacing:-.05em;margin:0 0 22px}
.welcome-hero h1 em{font-family:"Playfair Display",serif;color:var(--yellow)}
.welcome-hero p:last-child{color:var(--muted);font-size:17px;line-height:1.65;max-width:590px}
.welcome-hero img{width:330px;height:330px;object-fit:contain;filter:drop-shadow(0 25px 35px #0007)}
.welcome-rules{padding:36px}
.welcome-steps{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.welcome-steps article{padding:27px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.welcome-steps article>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #8f7620;border-radius:50%;color:var(--yellow);font-size:11px;font-weight:700}
.welcome-steps h2{font-size:17px;margin:3px 0 8px}.welcome-steps p{color:var(--muted);font-size:13px;line-height:1.55;margin:0}
.welcome-steps .kill-phrase{color:var(--ink);font-weight:700;font-size:15px}
.welcome-safety{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0;color:var(--muted);font-size:12px;text-align:center}
.welcome-safety strong{color:var(--yellow);text-transform:uppercase;letter-spacing:.09em;font-size:10px}
.welcome-action{display:flex;justify-content:center;gap:12px;margin-top:27px}

/* Device-independent mobile and foldable hardening */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden;min-width:280px}
button,a,input{touch-action:manipulation}
.button,.icon-link,.link-button,input{min-height:44px}
input{font-size:16px!important}
.site-header{
  padding-left:max(16px,calc((100vw - 1180px)/2),env(safe-area-inset-left));
  padding-right:max(16px,calc((100vw - 1180px)/2),env(safe-area-inset-right))
}
main{
  width:100%;
  padding-left:max(24px,env(safe-area-inset-left));
  padding-right:max(24px,env(safe-area-inset-right))
}
footer{
  padding-left:max(24px,env(safe-area-inset-left));
  padding-right:max(24px,env(safe-area-inset-right));
  padding-bottom:max(38px,env(safe-area-inset-bottom))
}

/* Wide foldable inner screens and small tablets */
@media(min-width:700px) and (max-width:1100px){
  main{max-width:960px}
  .duck-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;min-height:620px}
  .hero h1{font-size:clamp(62px,8vw,82px)}
  .duck-stage{height:500px}.duck-stage>img{width:min(48vw,500px)}
  .target-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}
  .kill-form{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:32px}
  .results-layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}
  .admin-overview{grid-template-columns:340px minmax(0,1fr)}
  .rules-grid{grid-template-columns:1fr 1fr}
  .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Standard phones and Fold7 cover display */
@media(max-width:699px){
  .site-header{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .site-header nav{gap:10px}.brand-duck{width:44px;height:44px}
  main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  footer{margin-top:55px;flex-direction:column;gap:14px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .hero{padding:48px 0 25px;gap:5px}.hero h1{font-size:clamp(50px,15vw,68px);line-height:.91}.lead{font-size:16px;line-height:1.6}
  .actions{display:grid;grid-template-columns:1fr;margin-top:28px}.actions .button{width:100%}
  .duck-stage{height:min(92vw,420px)}.duck-stage>img{width:min(100%,390px)}.duck-stage .status-card{right:0;bottom:8px}
  .orbit-one{width:min(82vw,350px);height:min(82vw,350px)}.orbit-two{width:min(62vw,265px);height:min(62vw,265px)}
  .how-it-works{margin-top:24px}.how-it-works article{padding:21px 20px}
  .form-layout{padding:45px 0}.form-intro h1{font-size:clamp(46px,13vw,60px)}.form-panel{padding:22px}
  .narrow-page{margin:48px auto}.narrow-page h1{font-size:clamp(42px,12vw,54px)}
  .dashboard-head{padding:42px 0 25px;align-items:center;gap:15px}.dashboard-head h1{font-size:clamp(34px,10vw,46px)}
  .score-pill{width:72px;height:72px;flex:0 0 72px}.score-pill strong{font-size:23px}
  .target-grid{grid-template-columns:1fr}.target-card,.code-card{min-height:0;padding:27px 20px}
  .target-avatar{width:78px;height:78px;font-size:36px}.target-card h2{font-size:30px}
  .secret-code{padding:28px 0}.secret-code span{font-size:25px}
  .kill-form{padding:24px 20px}.kill-form h2{font-size:24px}
  .waiting,.eliminated{min-height:240px;padding:28px 20px}.waiting h2,.eliminated h2{font-size:29px}
  .roster-heading{align-items:flex-start;flex-direction:column;gap:10px}.roster-heading h2{font-size:27px}.roster-counts{white-space:normal;flex-wrap:wrap}
  .roster-grid{grid-template-columns:1fr}.roster-player{padding:13px}
  .results-head{flex-direction:column;gap:25px;padding:48px 0 35px}.results-head h1{font-size:clamp(45px,13vw,60px)}
  .winner{align-self:center}.leaderboard,.ring-panel{padding:21px 16px}
  .leaderboard li{grid-template-columns:22px 38px minmax(0,1fr) auto;gap:8px}.leaderboard .survivor{display:none}
  .ring-chart{min-height:310px}.timeline-section{margin:55px auto}.timeline-section h2{font-size:30px}
  .rules-hero{padding:55px 0 40px}.rules-hero h1{font-size:clamp(48px,14vw,62px)}.rule,.safety{padding:25px 20px}.safety h2{font-size:27px}
  .admin-overview{grid-template-columns:1fr}.admin-stats{gap:8px}.admin-stats>div{padding:15px 10px;flex-direction:column;gap:1px}.admin-stats strong{font-size:28px}
  .admin-control,.table-panel{padding:22px 18px}.game-row{grid-template-columns:86px minmax(0,1fr) 16px}
  .danger-zone{padding:22px 18px;align-items:flex-start;flex-direction:column}.danger-zone form,.danger-zone .button{width:100%}
  .table-panel table,.table-panel tbody,.table-panel tr,.table-panel td{display:block;width:100%}
  .table-panel thead{display:none}.table-panel tr{padding:10px 0;border-bottom:1px solid var(--line)}
  .table-panel td{display:flex;justify-content:space-between;align-items:center;gap:20px;border:0;padding:7px 2px;text-align:right}
  .table-panel td:before{content:attr(data-label);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;text-align:left}
  .welcome-hero{grid-template-columns:1fr;text-align:center;padding-top:40px}.welcome-hero h1{font-size:clamp(45px,13vw,60px)}.welcome-hero img{width:190px;height:190px;grid-row:1;margin:0 auto -18px}
  .welcome-rules{padding:21px 16px}.welcome-steps{grid-template-columns:1fr}.welcome-steps article{padding:22px 18px}
  .welcome-safety{align-items:flex-start;flex-direction:column;text-align:left}.welcome-action{display:grid;grid-template-columns:1fr}.welcome-action .button{width:100%}
}

/* Extra-narrow cover screens and one-handed phones */
@media(max-width:380px){
  .site-header nav>a:not(.icon-link){display:none}.site-header nav{gap:8px}
  .hero h1{font-size:47px}.duck-stage{height:330px}.duck-stage>img{width:320px}.duck-stage .status-card{display:none}
  .button{padding:14px 16px}.pin-input{font-size:25px!important}
  .dashboard-head h1{font-size:32px}.score-pill{width:64px;height:64px;flex-basis:64px}
  .roster-player{grid-template-columns:34px minmax(0,1fr)}.roster-state{grid-column:2}.roster-avatar{grid-row:1/3}
  .timeline article{grid-template-columns:74px 15px minmax(0,1fr);gap:8px}
}

/* Segmented dual-screen foldables: keep primary panels away from a physical hinge. */
@media(horizontal-viewport-segments:2){
  .duck-hero{grid-template-columns:env(viewport-segment-width 0 0) env(viewport-segment-width 1 0);column-gap:calc(env(viewport-segment-left 1 0) - env(viewport-segment-right 0 0))}
  .hero-copy{padding-right:28px}.duck-stage{padding-left:28px}
}

/* QR kill confirmation */
.kill-qr{width:min(190px,100%);aspect-ratio:1;margin:3px auto 18px;padding:9px;background:#fff;border:5px solid var(--yellow);border-radius:10px;box-shadow:0 15px 35px #0005}
.kill-qr svg{display:block;width:100%;height:100%}
.manual-code,.manual-entry{border-top:1px solid var(--line);padding-top:14px}
.manual-code summary,.manual-entry summary{color:var(--muted);font-size:11px;cursor:pointer;list-style-position:inside}
.manual-code[open] summary,.manual-entry[open] summary{color:var(--ink)}
.manual-code .secret-code{padding:20px 0 8px}.manual-code .secret-code span{font-size:23px}
.kill-actions{display:grid;gap:15px}.scan-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.manual-entry form{margin-top:16px}.manual-entry label{margin-bottom:12px}
.finished-results{margin-top:18px;padding:30px 35px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.finished-results h2{font-size:27px;margin:0 0 8px}.finished-results p:last-child{margin:0;color:var(--muted);font-size:13px}
.modal-open{overflow:hidden}
.scanner-modal[hidden]{display:none}
.scanner-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.scanner-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#09070dcc;backdrop-filter:blur(8px);cursor:pointer}
.scanner-dialog{position:relative;width:min(500px,100%);max-height:100%;overflow:auto;padding:25px;background:#201827;border:1px solid #6f5d24;border-radius:10px;box-shadow:0 30px 90px #000b}
.scanner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.scanner-head h2{margin:0;font-size:27px}.scanner-head .eyebrow{margin-bottom:7px}
.scanner-close{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:50%;background:#17121c;color:var(--ink);font:300 28px/1 sans-serif;cursor:pointer}
#qr-reader{min-height:280px;overflow:hidden;background:#0b0910;border:1px solid var(--line)!important;border-radius:7px}
#qr-reader video{width:100%!important;min-height:280px;object-fit:cover}
.scanner-status{min-height:20px;margin:15px 0 0;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}.scanner-status.is-error{color:#ff9baa}

@media(max-width:699px){
  .kill-form{gap:24px}.kill-qr{width:180px}
  .finished-results{padding:24px 20px;align-items:flex-start;flex-direction:column}.finished-results .button{width:100%}
  .scanner-dialog{padding:20px 16px}.scanner-head h2{font-size:23px}
  #qr-reader,#qr-reader video{min-height:250px}
}

@media(max-width:380px){
  .kill-qr{width:164px}.scanner-modal{padding:8px}.scanner-dialog{padding:16px 12px}
  #qr-reader,#qr-reader video{min-height:225px}
}
