.duet-stage{max-width:740px;margin:auto;padding:16px;color:var(--theme-ink,#653d55)}.duet-title{display:flex;align-items:center;gap:12px;margin:16px 0}.duet-title>span{font-size:35px;color:#c95d88}.duet-title h2{font:600 28px Georgia,serif;margin:0}.duet-status{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:20px 0;color:var(--theme-muted,#927587)}.duet-status b{font-weight:500}.duet-rule{font-size:13px;line-height:1.7;margin:15px 0 22px;max-width:none}.duet-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));aspect-ratio:1;min-width:0}.fold-layout{max-width:480px;margin:0 auto}.fold-middle{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.fold-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:5px 40px}.fold-rows{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:5px}.fold-layout button{padding:0;min-width:0;min-height:32px;border-radius:10px;font-size:20px;background:#f0daec;color:#ac487a}.fold-layout button:disabled{opacity:.28}.native-app .fold-layout button{min-height:0}.fold-board{gap:4px;background:#e6d2c2;border:2px dashed #c6a88d;border-radius:16px;padding:8px;box-shadow:0 8px 0 #d1b3a0;transform:rotate(-1deg)}.fold-cell{position:relative;display:grid;place-items:center;min-width:0;border-radius:7px;background:radial-gradient(circle at 30% 30%,#fff5d2 2px,transparent 3px),#faf0dc}.fold-cell:nth-child(3n){background-color:#e5edd3}.fold-cell:nth-child(5n){background-color:#e7e8f4}.fold-home{background:#fff9ef!important}.fold-home i{position:absolute;font-style:normal;font-size:36px;line-height:1;opacity:.65}.seat-0{color:#c54879}.seat-1{color:#596fc2}.fold-heart{font-size:32px;line-height:1;z-index:1;filter:drop-shadow(0 3px 1px #0002);animation:duet-pop .25s ease-out}.duet-result{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;text-align:center;margin:25px 0;min-height:55px}.duet-result>span{font-size:12px}.duet-result>h3{width:100%;font:24px Georgia,serif;margin:10px 0;color:inherit}.duet-result>p{width:100%;font-size:12px;color:inherit;line-height:1.7}.duet-link,.duet-pass{background:transparent;color:var(--theme-accent,#ac587f);font-size:12px;min-height:44px;padding:10px}.duet-pass{display:block;margin:15px auto}.duet-help{font-size:12px;line-height:1.7;margin:24px 0}.duet-help summary{cursor:pointer;min-height:40px}.duet-help p{max-width:none}.duet-notice{font-size:12px;line-height:1.6;color:#c74c76}.duet-notice:empty{display:none}.duet-stage button:focus-visible{outline:3px solid #d888b6;outline-offset:3px}
.duet-night .game-open{background:#121b36!important}.duet-signal{color:#f3e9ff;min-height:calc(100dvh - 30px)}.duet-signal .play-stage-close,.duet-signal .duet-pass{color:#c4b3eb;background:transparent}.duet-signal h2,.duet-signal h3{color:#f3e9ff}.duet-signal .duet-rule,.duet-signal .duet-help p{color:#dccff3}.duet-signal .duet-title>span{color:#efb861}.duet-signal .duet-status{color:#baa5db}.signal-board{max-width:360px;margin:auto;gap:6px;padding:13px;border:1px solid #59638f;border-radius:22px;background:radial-gradient(ellipse at 70% 20%,#6655aa55,transparent 65%),#202747;box-shadow:0 15px 50px #060a2033}.signal-cell{display:grid;place-items:center;border:1px solid #ffffff0d;border-radius:10px;background:#d8c7fa08;color:#9093bc;font-size:22px;min-width:0;aspect-ratio:1;padding:0;opacity:1!important}.signal-cell.target{color:#ffcc79;border-color:#f1bb6c66;background:#f4b95416}.signal-cell.picked{color:#d9b3ff;font-size:30px;background:#bd8ce52b;border-color:#c295f2}.signal-cell.target.picked{color:#ffda94;box-shadow:0 0 15px #ffc16933;border-color:#ffcf7d}.signal-cell.miss{opacity:.45!important}.signal-pulse{display:flex;align-items:center;justify-content:center;gap:10px;color:#d6b6ee;font-size:12px;min-height:52px;margin:8px 0}.signal-pulse>span{font-size:30px;color:#ffcf7d;animation:duet-pop .4s ease-out}.signal-controls{display:grid;grid-template-columns:repeat(3,48px);justify-content:center;gap:7px;margin:22px auto}.signal-controls button{min-height:44px;border:1px solid #776294;border-radius:12px;background:#40305b;color:#ffce84;font-size:24px;padding:5px}.duet-signal .btn{background:#b58cde;color:#24173e;border:0}.duet-signal .duet-result>span{color:#d8c7ec}
@keyframes duet-pop{from{transform:scale(.7);opacity:.3}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.fold-heart,.signal-pulse>span{animation:none}}@media(max-width:360px){.duet-stage{padding:10px}.duet-title h2{font-size:23px}.fold-middle{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}.fold-columns{margin-left:34px;margin-right:34px}.fold-board{padding:5px;gap:3px}.fold-heart{font-size:24px}.fold-home i{font-size:30px}}@media(max-height:500px) and (min-width:650px){.fold-layout{max-width:340px}.signal-board{max-width:240px}.duet-stage{max-width:850px}.duet-title{margin:5px 0}.duet-title h2{font-size:23px}.duet-rule{margin:8px 0}.duet-status{margin:8px 0}.signal-controls{grid-template-columns:repeat(3,42px);margin:12px auto}.signal-pulse{min-height:35px}.duet-result{margin:15px 0}}
