#magnet-zing{--green:var(--accent);--lime:var(--soft);--paper:var(--bg);--wood:#edd4ad;color:var(--ink);font-family:inherit}
#magnet-zing *{box-sizing:border-box}
#magnet-zing{margin:0}
#magnet-zing button,#magnet-zing input,#magnet-zing select{font:inherit}
#magnet-zing button,#magnet-zing a,#magnet-zing input,#magnet-zing select{touch-action:manipulation}
#magnet-zing button{cursor:pointer;color:inherit}
#magnet-zing button:disabled{cursor:default;opacity:.5}
#magnet-zing button:focus-visible,#magnet-zing a:focus-visible,#magnet-zing input:focus-visible,#magnet-zing select:focus-visible,#magnet-zing [tabindex]:focus-visible{outline:3px solid #bf7021;outline-offset:4px}
#magnet-zing button{border:0;background:none}
#magnet-zing a{color:inherit;text-decoration:none}
#magnet-zing [hidden]{display:none!important}
#magnet-zing .skip{position:fixed;top:-80px;z-index:100;background:#fff;padding:15px}
#magnet-zing .skip:focus{top:5px}
#magnet-zing .topbar{height:86px;max-width:1480px;padding:0 40px;margin:auto;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
#magnet-zing .brand{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:-.3px}
#magnet-zing .brand b{color:var(--green);margin-left:6px}
#magnet-zing .brand-mark{background:var(--green);color:#e7f6b3;font-size:27px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;transform:rotate(-7deg)}
#magnet-zing nav{display:flex;gap:22px}
#magnet-zing nav button{font-size:13px;padding:12px 0}
#magnet-zing main{max-width:1480px;padding:0 40px;margin:auto}
#magnet-zing .heading{padding:32px 0 30px;display:flex;justify-content:space-between;align-items:center}
#magnet-zing .eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:var(--green)}
#magnet-zing h1{font-size:62px;letter-spacing:-3px;margin:8px 0 5px;line-height:1.08}
#magnet-zing h1 em{font-style:normal;color:var(--green)}
#magnet-zing h1 em>span{color:#e09f3c}
#magnet-zing .title-spark{display:inline-block;font-size:45px;color:#dca755;transform:rotate(15deg);vertical-align:top;margin-left:12px}
#magnet-zing .heading p{font-size:15px;color:var(--muted);margin:10px 0 0}
#magnet-zing .heading-note{font-size:13px;line-height:1.6;color:var(--muted);transform:rotate(3deg);margin-right:40px}
#magnet-zing .heading-note>span{float:left;font-size:42px;color:#daa451;margin-right:14px}
#magnet-zing .game-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 196px;gap:28px;align-items:start}
#magnet-zing .panel{background:#fffefa;border:1px solid var(--line);border-radius:20px;padding:22px}
#magnet-zing .panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
#magnet-zing .step-badge{font-size:10px;padding:5px 7px;background:#eef1e7;border-radius:6px;color:var(--muted)}
#magnet-zing fieldset{border:0;padding:0;margin:0;min-width:0}
#magnet-zing label:not(.check){display:block;font-size:11px;font-weight:800;margin:16px 0 8px}
#magnet-zing select,#magnet-zing input[type=text]{width:100%;min-height:40px;border:1px solid #d8ded3;border-radius:9px;background:#fff;color:var(--ink);padding:8px;font-size:12px}
#magnet-zing select:disabled{opacity:.65}
#magnet-zing .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#magnet-zing .shape-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
#magnet-zing .shape-choice{border:1px solid #e1e6dd;border-radius:9px;padding:6px 2px;background:#fafbf7;min-width:0}
#magnet-zing .shape-choice svg{width:100%;height:29px;fill:#e2eacd;stroke:#7a9a74;stroke-width:22}
#magnet-zing .shape-choice small{font-size:7px;display:block;margin-top:3px}
#magnet-zing .shape-choice[aria-pressed=true]{border-color:var(--green);background:#eef6db;box-shadow:0 0 0 1px var(--green)}
#magnet-zing .shape-choice[aria-pressed=true] svg{fill:#cfe595;stroke:var(--green)}
#magnet-zing .segmented{display:flex;gap:3px;border:1px solid var(--line);background:#f3f5ed;padding:3px;border-radius:9px}
#magnet-zing .segmented button{flex:1;font-size:9px;padding:10px 2px;border-radius:6px}
#magnet-zing .segmented [aria-pressed=true]{background:var(--green);color:#fff;font-weight:800}
#magnet-zing .field-note{font-size:10px;line-height:1.6;color:var(--muted);margin:9px 0}
#magnet-zing .check{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.5}
#magnet-zing .check input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}
#magnet-zing .primary,#magnet-zing .secondary{padding:13px 16px;min-height:44px;border-radius:10px;font-size:13px;font-weight:bold}
#magnet-zing .primary{background:var(--green);color:#fff;box-shadow:0 3px 0 #16503e}
#magnet-zing .primary:hover{background:#1c6451}
#magnet-zing .primary span{float:right;font-size:17px}
#magnet-zing .secondary{border:1px solid var(--line);background:#edf3e6;color:#315942}
#magnet-zing .wide{width:100%;margin-top:12px}
#magnet-zing .text-button{font-size:11px;font-weight:700;padding:10px 0;color:var(--green);text-align:left}
#magnet-zing .text-button.wide{text-align:center}
#magnet-zing details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
#magnet-zing summary{font-size:11px;font-weight:700;cursor:pointer;list-style:none;line-height:25px}
#magnet-zing summary span{float:right}
#magnet-zing details .check{margin-top:14px}
#magnet-zing .player-field{border-top:1px dashed var(--line);margin-top:12px;padding-top:2px}
#magnet-zing .player-field .form-pair{grid-template-columns:1fr 68px}
#magnet-zing .save-note{font-size:9px;color:var(--muted);text-align:center;line-height:1.7;margin:15px 0}
#magnet-zing .offline{border-top:1px solid var(--line);padding-top:10px}
#magnet-zing .offline small{display:block;font-size:9px;line-height:1.6;color:var(--muted)}
#magnet-zing progress{width:100%;accent-color:var(--green)}
#magnet-zing .play-area{min-width:0}
#magnet-zing .play-heading{display:flex;justify-content:space-between;align-items:center;min-height:48px;margin:0 3px 15px}
#magnet-zing .play-heading h2{font-size:21px;letter-spacing:-.6px;margin:5px 0 0}
#magnet-zing .play-heading .eyebrow{font-size:8px}
#magnet-zing .icon-button{background:#fff;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;font-size:14px}
#magnet-zing .scoreboard{display:flex;gap:7px;margin:0 0 15px}
#magnet-zing .player-score{flex:1;min-width:0;padding:10px 9px;border:1px solid var(--line);background:#fffefa;border-radius:12px;position:relative}
#magnet-zing .player-score.active{border-color:#719b63;background:#edf3dd;box-shadow:inset 0 -3px #a9c985}
#magnet-zing .player-score .who{display:flex;gap:6px;align-items:center;min-width:0}
#magnet-zing .player-score svg{width:26px;height:26px;flex-shrink:0}
#magnet-zing .player-name{font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#magnet-zing .player-score b{font-size:25px;display:inline-block;margin:6px 4px 0 0;letter-spacing:-1px}
#magnet-zing .player-score small{font-size:9px;color:var(--muted)}
#magnet-zing .score-stars{font-size:9px;display:block;color:#966922;margin-top:3px}
#magnet-zing .tabletop{isolation:isolate;background:linear-gradient(110deg,#f0daba,#e9cda4 52%,#f1dcbc);border-radius:25px;padding:12px 12px 24px;position:relative;border:1px solid #d1b389;box-shadow:inset 0 2px 0 #fff3d6,0 7px 0 #bd9568,0 11px 0 #a67e511a,0 22px 35px -25px #785931a6;overflow:hidden}
#magnet-zing .table-grain{pointer-events:none;position:absolute;inset:0;opacity:.38;background:repeating-linear-gradient(2deg,transparent 0 11px,#bc9b6b18 12px,transparent 15px),repeating-linear-gradient(178deg,transparent 0 33px,#fff7dc44 34px,transparent 36px)}
#magnet-zing #arena{position:relative;aspect-ratio:1;touch-action:none;outline-offset:-3px;border-radius:20px;user-select:none}
#magnet-zing #cord{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#magnet-zing #arena-fill{fill:#fff8df28}
#magnet-zing #rope-back{fill:none;stroke:#2b6447;stroke-width:15;filter:url(#rope-shadow)}
#magnet-zing #rope-front{fill:none;stroke:#588447;stroke-width:10}
#magnet-zing #rope-thread{fill:none;stroke:#a6ba77;stroke-width:2;stroke-dasharray:4 8;opacity:.75}
#magnet-zing .table-label{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:6px;letter-spacing:2px;color:#967854;font-weight:700}
#magnet-zing .magnet{position:absolute;display:block;width:var(--diameter,36px);height:var(--diameter,36px);border-radius:40% 44% 39% 46%;background:linear-gradient(135deg,#e5e4da 0%,#545957 16%,#333b3a 58%,#7d8480 85%,#202a29 100%);border:1px solid #39443d;box-shadow:inset 1px 2px 1px #ffffff88,inset -1px -3px 2px #0009,0 4px 0 #26322e,0 7px 5px #57412665;transform:translate(-50%,-50%) rotate(var(--rotation,-12deg));pointer-events:none}
#magnet-zing .magnet:before{content:'';position:absolute;inset:7% 12% 30%;border-radius:40%;background:linear-gradient(165deg,#a2aba6,#46504c 85%);box-shadow:inset 1px 1px 2px #fff6}
#magnet-zing .magnet[data-style=candy]{background:linear-gradient(135deg,#f3c5c8,#b25772);border-color:#993958;box-shadow:inset 1px 2px #fff7,0 4px #9c425a,0 7px 5px #57412665}
#magnet-zing .magnet[data-style=candy]:before{background:linear-gradient(135deg,#f4c6d3,#da7f9b)}
#magnet-zing .magnet[data-style=ocean]{background:linear-gradient(135deg,#91d7ce,#297f81);border-color:#256771;box-shadow:inset 1px 2px #fff7,0 4px #2f6869,0 7px 5px #57412665}
#magnet-zing .magnet[data-style=ocean]:before{background:linear-gradient(135deg,#a2e4df,#54a8a5)}
#magnet-zing .magnet[data-style=sunset]{background:linear-gradient(135deg,#ffe3a0,#b67b26);border-color:#97682d;box-shadow:inset 1px 2px #fff7,0 4px #936b35,0 7px 5px #57412665}
#magnet-zing .magnet[data-style=sunset]:before{background:linear-gradient(135deg,#ffe9ac,#deac5b)}
#magnet-zing .magnet[data-style=paws]:before{background:linear-gradient(135deg,#ffe4c1,#bd9872)}
#magnet-zing .magnet[data-style=paws]:after{content:'♣';position:absolute;inset:0;display:grid;place-items:center;color:#63492f;font-size:calc(var(--diameter)*.5)}
#magnet-zing .magnet.aim{z-index:8;opacity:.8;outline:3px dashed #faffea;outline-offset:5px}
#magnet-zing .magnet.aim.risky{outline-color:#b76313;filter:drop-shadow(0 0 5px #ffca63)}
#magnet-zing .magnet.aim.invalid{outline-color:#b84747;opacity:.5}
#magnet-zing .magnet.linked{outline:2px solid #ffe184;outline-offset:3px}
#magnet-zing .welcome{position:absolute;inset:20%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
#magnet-zing .welcome-spark{font-size:45px;color:#668556;margin-bottom:15px}
#magnet-zing .welcome strong{font-family:Georgia,serif;font-size:clamp(19px,2.6vw,36px);font-weight:normal;line-height:1.2;color:#5a6543}
#magnet-zing .welcome p{font-size:12px;line-height:1.7;color:#887857}
#magnet-zing .turn-dock{display:flex;align-items:center;gap:14px;margin-top:25px;padding:13px;background:#fffefa;border:1px solid var(--line);border-radius:15px}
#magnet-zing .supply-drag{position:relative;display:flex;align-items:center;gap:9px;padding:9px 12px 9px 56px;background:#eaf0df;border:1px solid #d9e4c5;border-radius:10px;min-height:56px;min-width:160px;font-size:10px;font-weight:700;touch-action:none;user-select:none}
#magnet-zing .supply-stone{left:28px;top:47%;--diameter:29px}
#magnet-zing .drag-arrow{font-size:17px;color:#749452}
#magnet-zing .turn-copy{min-width:0;flex:1}
#magnet-zing .turn-copy strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis}
#magnet-zing .turn-copy span{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5}
#magnet-zing .timer-display{font-size:22px;font-variant-numeric:tabular-nums;color:var(--green);min-width:35px}
#magnet-zing .timer-display.urgent{color:#b34537}
#magnet-zing #message{text-align:center;font-size:12px;line-height:1.6;min-height:20px;color:#647154;margin:15px 0 8px}
#magnet-zing .board-tools{display:flex;justify-content:center;align-items:center;gap:13px;flex-wrap:wrap}
#magnet-zing .board-tools button{font-size:10px;padding:8px 3px;color:var(--green)}
#magnet-zing .board-tools .check{font-size:10px}
#magnet-zing .keyboard-note{text-align:center;color:#7c8378;font-size:9px;line-height:1.6}
#magnet-zing .notes{padding-top:2px}
#magnet-zing .tip-card{background:#eaf0d9;border:1px solid #dce5c6;border-radius:18px;padding:24px 20px}
#magnet-zing .big-spark{display:block;color:#76934d;font-size:39px;margin-bottom:29px}
#magnet-zing .tip-card .eyebrow{font-size:8px;line-height:1.8}
#magnet-zing .tip-card h2{font-family:Georgia,serif;font-size:26px;font-weight:normal;line-height:1.17;margin:12px 0 17px;letter-spacing:-.8px}
#magnet-zing .tip-card p{font-size:12px;line-height:1.8;color:#6b7958}
#magnet-zing .mini-demo{display:flex;align-items:center;justify-content:center;gap:20px;margin:23px 0}
#magnet-zing .mini-demo i{width:26px;height:23px;border-radius:40%;background:linear-gradient(135deg,#b7bdb3,#37443b);box-shadow:0 4px #263d2d,0 6px 5px #76816755;transform:rotate(-15deg)}
#magnet-zing .mini-demo span{color:#7f9c5d;font-size:22px}
#magnet-zing .tip-card .tip-small{font-size:9px;border-top:1px solid #d6e0bf;padding-top:15px;margin-bottom:0}
#magnet-zing .note-bottom{padding:25px 10px}
#magnet-zing .note-bottom .eyebrow{font-size:8px}
#magnet-zing .note-bottom p{font-size:11px;line-height:1.9;color:var(--muted)}
#magnet-zing .handwritten{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--green)}
#magnet-zing footer{display:flex;justify-content:space-between;gap:18px;padding:24px 0 30px;border-top:1px solid var(--line);margin-top:35px;color:var(--muted);font-size:10px}
#magnet-zing dialog{border:1px solid var(--line);border-radius:22px;padding:30px;max-width:480px;width:calc(100% - 28px);max-height:90dvh;overflow:auto;color:var(--ink);background:#fffdf6;box-shadow:0 25px 90px #253e3044}
#magnet-zing dialog::backdrop{background:#142d2766;backdrop-filter:blur(5px)}
#magnet-zing dialog h2{font-size:29px;letter-spacing:-1px;margin:10px 0 14px}
#magnet-zing dialog p{font-size:13px;line-height:1.8;color:var(--muted)}
#magnet-zing .close{position:absolute;top:12px;right:13px;width:32px;height:32px;font-size:24px}
#magnet-zing .rules{padding-left:20px;font-size:13px;line-height:1.8}
#magnet-zing .rules li{padding-bottom:12px}
#magnet-zing .rules b{display:block;color:var(--green)}
#magnet-zing #result-dialog{text-align:center}
#magnet-zing .winner-avatar svg{width:80px;height:80px}
#magnet-zing .winner-avatar{margin:12px auto 22px}
#magnet-zing .result-scores{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:20px 0}
#magnet-zing .result-scores span{background:#eff3e5;padding:10px 14px;border-radius:10px;font-size:12px}
#magnet-zing #result-card{width:100%;height:auto;border-radius:15px}
#magnet-zing #history-list article{padding:15px 0;border-top:1px solid var(--line);font-size:13px}
#magnet-zing #history-list p{font-size:11px;margin:5px 0}
#magnet-zing .win-pill{display:inline-block;background:#edf3de;padding:8px 12px;border-radius:20px;font-size:12px;margin:4px}
#magnet-zing .toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 30px);padding:13px 20px;border-radius:12px;background:#244739;color:#fff;font-size:12px;z-index:20;opacity:0;pointer-events:none;transition:.2s}
#magnet-zing .toast.visible{opacity:1;transform:translate(-50%,0)}
#magnet-zing #particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#magnet-zing .spark-particle{position:absolute;font-size:18px;color:#c27a15;animation:zing-spark-out .7s ease-out both}
@keyframes zing-spark-out{from{opacity:1;transform:translate(0,0) scale(.5)}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(110deg) scale(1.3)}}
#magnet-zing .tutorial-banner{background:#e9f1d7;border:1px solid #a8c477;border-radius:12px;padding:10px;line-height:1.6}
#magnet-zing.less-motion *{scroll-behavior:auto}
#magnet-zing.less-motion .spark-particle{animation:none;display:none}
#magnet-zing.less-motion .magnet{transition:none!important}
@media(min-width:1550px){
#magnet-zing .game-layout{grid-template-columns:270px minmax(0,1fr) 205px;gap:35px}
#magnet-zing .heading{padding:40px 0}
#magnet-zing .tabletop{max-width:680px;margin:auto}
}
@media(max-width:1180px){
#magnet-zing .game-layout{grid-template-columns:245px minmax(0,1fr);gap:24px}
#magnet-zing .notes{display:none}
#magnet-zing main,#magnet-zing .topbar{padding-left:28px;padding-right:28px}
#magnet-zing h1{font-size:55px}
#magnet-zing .heading-note{margin-right:10px}
}
@media(max-width:720px){
#magnet-zing main,#magnet-zing .topbar{padding-left:16px;padding-right:16px}
#magnet-zing .topbar{height:68px}
#magnet-zing .brand{font-size:11px}
#magnet-zing .brand b{display:block;margin-left:0}
#magnet-zing nav{gap:14px}
#magnet-zing nav button{font-size:17px}
#magnet-zing nav button span{display:none}
#magnet-zing .heading{padding:24px 0}
#magnet-zing .heading-note{display:none}
#magnet-zing h1{font-size:45px}
#magnet-zing .heading .eyebrow{font-size:8px}
#magnet-zing .heading p{font-size:12px}
#magnet-zing .title-spark{font-size:32px}
#magnet-zing .game-layout{display:flex;flex-direction:column;gap:22px}
#magnet-zing .setup{width:100%;padding:18px}
#magnet-zing .panel-heading{margin-bottom:3px}
#magnet-zing .setup fieldset{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
#magnet-zing .setup fieldset>label,#magnet-zing .setup fieldset>select,#magnet-zing .setup fieldset>.form-pair,#magnet-zing .setup fieldset>.shape-grid,#magnet-zing .setup fieldset>.segmented,#magnet-zing .setup fieldset>.field-note,#magnet-zing .setup fieldset>details{grid-column:1/-1}
#magnet-zing .shape-grid{grid-template-columns:repeat(10,1fr);gap:4px}
#magnet-zing .shape-choice small{display:none}
#magnet-zing .shape-choice svg{height:27px}
#magnet-zing .setup.active{padding:12px 16px}
#magnet-zing .setup.active .panel-heading,#magnet-zing .setup.active fieldset,#magnet-zing .setup.active .offline,#magnet-zing .setup.active #start{display:none}
#magnet-zing .setup.active .save-note{margin:4px 0}
#magnet-zing .setup.active #new-match{margin:0}
#magnet-zing .play-area{width:100%}
#magnet-zing .play-heading h2{font-size:20px}
#magnet-zing .tabletop{padding:7px 7px 20px;border-radius:19px}
#magnet-zing .turn-dock{gap:10px;padding:10px}
#magnet-zing .supply-drag{min-width:120px;padding-right:8px;padding-left:46px;font-size:9px}
#magnet-zing .supply-stone{left:23px;--diameter:27px}
#magnet-zing .turn-copy strong{font-size:11px}
#magnet-zing .turn-copy span{font-size:9px}
#magnet-zing .player-score{padding:8px 6px}
#magnet-zing .player-name{font-size:9px}
#magnet-zing .player-score .who{gap:3px}
#magnet-zing .player-score svg{width:20px;height:20px}
#magnet-zing .player-score b{font-size:21px}
#magnet-zing .player-score small{font-size:8px}
#magnet-zing .scoreboard{gap:5px}
#magnet-zing .welcome strong{font-size:27px}
#magnet-zing .welcome p{font-size:10px}
#magnet-zing .welcome-spark{font-size:35px;margin-bottom:10px}
#magnet-zing footer{font-size:9px;flex-wrap:wrap;margin-top:22px}
#magnet-zing footer span:last-child{display:none}
#magnet-zing .board-tools{gap:10px}
#magnet-zing .notes{display:none}
#magnet-zing .keyboard-note{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
#magnet-zing *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
@media(min-width:721px){
#magnet-zing .tabletop{width:min(100%,640px,calc(100dvh - 230px));min-width:300px;margin-inline:auto}
}
#magnet-zing #victory-burst{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}
#magnet-zing .victory-confetti{position:absolute;left:50%;top:110px;width:8px;height:13px;background:var(--confetti-color);border-radius:2px;opacity:0;animation:zing-victory-pop 1.2s cubic-bezier(.15,.6,.4,1) both}
#magnet-zing .victory-confetti:nth-child(3n+1){width:18px;height:18px;background:transparent;color:var(--confetti-color);font-size:22px;line-height:18px}
#magnet-zing .victory-confetti:nth-child(3n){border-radius:50%;height:8px}
@keyframes zing-victory-pop{0%{opacity:0;transform:translate(-50%,0) scale(.2)}15%{opacity:1}45%{opacity:1;transform:translate(var(--burst-x),var(--burst-y)) rotate(var(--burst-spin)) scale(1)}100%{opacity:0;transform:translate(var(--burst-x),calc(var(--burst-y) + var(--burst-fall))) rotate(calc(var(--burst-spin) * 2)) scale(.6)}}
#magnet-zing.less-motion #victory-burst{display:none}
@media(prefers-reduced-motion:reduce){
#magnet-zing #victory-burst{display:none}
}
#magnet-zing .zing-toolbar{max-width:1400px;margin:auto;padding:8px 40px;display:flex;justify-content:flex-end}
#magnet-zing .zing-toolbar nav{gap:20px;flex-wrap:wrap}
#magnet-zing .play-area,#magnet-zing .heading,#magnet-zing .note-bottom{background:var(--bg);border-radius:18px}
#magnet-zing .play-area{padding:12px;min-width:0}
#magnet-zing .heading{padding-inline:16px}
#magnet-zing .primary{background:var(--accent);box-shadow:0 3px 0 #0002}
#magnet-zing .primary:hover{background:var(--accent);filter:brightness(.92)}
#magnet-zing .secondary,#magnet-zing .shape-choice[aria-pressed=true],#magnet-zing .player-score.active{background:var(--soft);border-color:var(--accent);color:var(--ink)}
#magnet-zing .field-label{display:block;font-size:11px;font-weight:800;margin:16px 0 8px}
#magnet-zing .shape-choice{min-height:44px}
#magnet-zing dialog{background:var(--bg)}
@media(max-width:720px){#magnet-zing .zing-toolbar{padding:8px 16px}#magnet-zing .zing-toolbar nav button span{display:inline}#magnet-zing .shape-grid{grid-template-columns:repeat(5,1fr)}#magnet-zing .shape-choice small{display:block}#magnet-zing .setup fieldset>.field-label{grid-column:1/-1}}
