.minigame-root[data-game="niwamaster"]{--panel:rgba(255,255,255,.06);
      --line:rgba(255,255,255,.12);
      --text:rgba(255,255,255,.92);
      --muted:rgba(255,255,255,.72);
      --good:#8fffbd;
      --bad:#ff7b7b;
      --warn:#ffd37a;
      --shadow: 0 18px 50px rgba(0,0,0,.45);
      --radius:18px;}
.minigame-root[data-game="niwamaster"] *{box-sizing:border-box}
.minigame-root[data-game="niwamaster"], .minigame-root[data-game="niwamaster"]{height:100%}
.minigame-root[data-game="niwamaster"]{margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Hiragino Kaku Gothic ProN","Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
      color:var(--text);
      background:
        radial-gradient(1200px 700px at 20% 10%, rgba(110,231,255,.12), transparent 55%),
        radial-gradient(900px 700px at 80% 0%, rgba(255,190,110,.10), transparent 60%),
        radial-gradient(900px 700px at 70% 90%, rgba(160,110,255,.11), transparent 55%),
        linear-gradient(180deg, #070a14 0%, #0b1020 50%, #060914 100%);
      overflow-x:hidden;
      padding:18px 14px 26px;
      border-radius:20px;}
.minigame-root[data-game="niwamaster"] .wrap{max-width:1100px;margin:0 auto;padding:18px 14px 26px}
.minigame-root[data-game="niwamaster"] header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
      gap:12px;margin-bottom:14px;}
.minigame-root[data-game="niwamaster"] .title{display:flex;align-items:center;gap:12px;
      padding:12px 14px;border-radius:var(--radius);
      background:var(--panel);border:1px solid var(--line);
      box-shadow:var(--shadow);backdrop-filter: blur(10px);}
.minigame-root[data-game="niwamaster"] .badge{width:44px;height:44px;border-radius:14px;
      background: linear-gradient(135deg, rgba(110,231,255,.28), rgba(160,110,255,.22));
      border:1px solid rgba(255,255,255,.14);
      display:grid;place-items:center;flex:0 0 auto;}
.minigame-root[data-game="niwamaster"] .badge svg{opacity:.92}
.minigame-root[data-game="niwamaster"] .title h1{font-size:16px;margin:0;letter-spacing:.02em}
.minigame-root[data-game="niwamaster"] .title p{margin:4px 0 0;font-size:12px;color:var(--muted)}
.minigame-root[data-game="niwamaster"] .hud{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:stretch}
.minigame-root[data-game="niwamaster"] .card{background:var(--panel);border:1px solid var(--line);
      border-radius:var(--radius);box-shadow:var(--shadow);
      backdrop-filter: blur(10px);
      padding:10px 12px;min-width:120px;}
.minigame-root[data-game="niwamaster"] .card small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.minigame-root[data-game="niwamaster"] .card b{font-size:16px}
.minigame-root[data-game="niwamaster"] .card .sub{margin-top:3px;color:var(--muted);font-size:12px}
.minigame-root[data-game="niwamaster"] .grid{display:grid;
      grid-template-columns: minmax(280px, 1.55fr) minmax(280px, 1fr);
      gap:12px;align-items:start;}
@media (max-width: 880px){.minigame-root[data-game="niwamaster"] .grid{grid-template-columns: 1fr;}}
.minigame-root[data-game="niwamaster"] .panel{background:var(--panel);border:1px solid var(--line);
      border-radius:calc(var(--radius) + 4px);
      box-shadow:var(--shadow);backdrop-filter: blur(10px);
      overflow:hidden;}
.minigame-root[data-game="niwamaster"] .panelHead{padding:12px 14px;
      display:flex;gap:12px;align-items:center;justify-content:space-between;
      border-bottom:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));}
.minigame-root[data-game="niwamaster"] .panelHead .left{display:flex;flex-direction:column;gap:2px}
.minigame-root[data-game="niwamaster"] .panelHead .left b{font-size:14px}
.minigame-root[data-game="niwamaster"] .panelHead .left span{font-size:12px;color:var(--muted)}
.minigame-root[data-game="niwamaster"] .panelBody{padding:12px 14px 14px}
.minigame-root[data-game="niwamaster"] .btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.minigame-root[data-game="niwamaster"] button{appearance:none;border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.07);color:var(--text);
      padding:10px 12px;border-radius:14px;
      font-weight:800;font-size:12px;letter-spacing:.02em;
      cursor:pointer;transition: transform .06s ease, background .2s ease, border-color .2s ease;
      user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
.minigame-root[data-game="niwamaster"] button:hover{background:rgba(255,255,255,.10)}
.minigame-root[data-game="niwamaster"] button:active{transform: translateY(1px)}
.minigame-root[data-game="niwamaster"] button.primary{background:linear-gradient(135deg, rgba(110,231,255,.18), rgba(160,110,255,.16));
      border-color: rgba(110,231,255,.22);}
.minigame-root[data-game="niwamaster"] button.danger{background:rgba(255,123,123,.12);
      border-color: rgba(255,123,123,.22);}
.minigame-root[data-game="niwamaster"] button.xbtn{background:rgba(255,255,255,.10);
      border-color: rgba(255,255,255,.20);}
.minigame-root[data-game="niwamaster"] button[disabled]{opacity:.5; cursor:not-allowed}
.minigame-root[data-game="niwamaster"] .hint{margin-top:10px;padding:10px 12px;border-radius:14px;
      background:rgba(255,255,255,.05);
      border:1px dashed rgba(255,255,255,.14);
      color:var(--muted);font-size:12px;line-height:1.5;}
.minigame-root[data-game="niwamaster"] .boardWrap{position:relative;width:100%;max-width:720px;margin:0 auto;
      aspect-ratio: 8 / 6;border-radius:22px;
      border:1px solid rgba(255,255,255,.15);
      overflow:hidden;
      background:
        radial-gradient(900px 400px at 30% 0%, rgba(110,231,255,.10), transparent 60%),
        radial-gradient(700px 400px at 80% 100%, rgba(255,190,110,.08), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.10));}
.minigame-root[data-game="niwamaster"] .cells{position:absolute; inset:0;
      display:grid;
      grid-template-columns: repeat(8, 1fr);
      grid-template-rows: repeat(6, 1fr);
      gap:2px;
      padding:8px;}
.minigame-root[data-game="niwamaster"] .cell{border-radius:10px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);}
.minigame-root[data-game="niwamaster"] .cell.hoverOk{outline:2px solid rgba(143,255,189,.55)}
.minigame-root[data-game="niwamaster"] .cell.hoverBad{outline:2px solid rgba(255,123,123,.55)}
.minigame-root[data-game="niwamaster"] .piecesLayer{position:absolute; inset:0; padding:8px; pointer-events:none;}
.minigame-root[data-game="niwamaster"] .piece{position:absolute;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.18);
      box-shadow: 0 14px 30px rgba(0,0,0,.35);
      overflow:hidden;
      pointer-events:auto;
      touch-action:none;
      user-select:none;-webkit-user-select:none;
      transform: translateZ(0);

      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-color: rgba(255,255,255,.06);}
.minigame-root[data-game="niwamaster"] .piece::before{content:"";
      position:absolute; inset:-2px;
      background: radial-gradient(120px 80px at 20% 10%, rgba(255,255,255,.20), transparent 60%);
      pointer-events:none;}
.minigame-root[data-game="niwamaster"] .piece::after{content:"";
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.30));
      pointer-events:none;}
.minigame-root[data-game="niwamaster"] .piece .inner{position:relative; z-index:1;
      height:100%;
      display:flex;align-items:center;justify-content:space-between;gap:10px;
      padding:10px 10px;}
.minigame-root[data-game="niwamaster"] .piece .meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.minigame-root[data-game="niwamaster"] .piece .name{font-weight:900;font-size:12px;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
      letter-spacing:.02em;
      text-shadow: 0 2px 8px rgba(0,0,0,.45);}
.minigame-root[data-game="niwamaster"] .piece .desc{font-size:11px;color:rgba(255,255,255,.82);
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
      text-shadow: 0 2px 8px rgba(0,0,0,.45);}
.minigame-root[data-game="niwamaster"] .piece.ghost{opacity:.60; filter:saturate(.95); box-shadow:none}
.minigame-root[data-game="niwamaster"] .piece.bad{outline:2px solid rgba(255,123,123,.65)}
.minigame-root[data-game="niwamaster"] .piece.good{outline:2px solid rgba(143,255,189,.60)}
.minigame-root[data-game="niwamaster"] .queue{display:flex; flex-direction:column; gap:10px;}
.minigame-root[data-game="niwamaster"] .slot{background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.10);
      border-radius:18px;
      padding:10px;
      display:flex;gap:10px;align-items:center;justify-content:space-between;
      touch-action:none;
      -webkit-user-select:none; user-select:none;
      -webkit-touch-callout:none;
      background-size: cover;
      background-position: center;}
.minigame-root[data-game="niwamaster"] .slot .t{display:flex;flex-direction:column;gap:2px;min-width:0}
.minigame-root[data-game="niwamaster"] .slot .t b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.minigame-root[data-game="niwamaster"] .slot .t span{font-size:12px;color:var(--muted)}
.minigame-root[data-game="niwamaster"] .tag{font-size:11px;padding:6px 10px;border-radius:999px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.06);
      color:rgba(255,255,255,.85);
      white-space:nowrap;}
.minigame-root[data-game="niwamaster"] .kbd{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size:11px;border:1px solid rgba(255,255,255,.16);
      padding:2px 7px;border-radius:8px;background:rgba(255,255,255,.05);
      color:rgba(255,255,255,.82);margin-left:6px;}
.minigame-root[data-game="niwamaster"] .toast{position:fixed;left:50%;bottom:16px;transform: translateX(-50%);
      background:rgba(10,14,28,.78);
      border:1px solid rgba(255,255,255,.16);
      border-radius:16px;padding:10px 12px;
      box-shadow:var(--shadow);backdrop-filter: blur(10px);
      color:rgba(255,255,255,.92);
      font-size:12px;line-height:1.4;
      max-width:min(560px, calc(100vw - 24px));
      opacity:0;pointer-events:none;
      transition: opacity .18s ease, transform .18s ease;
      z-index: 50;}
.minigame-root[data-game="niwamaster"] .toast.show{opacity:1; transform: translateX(-50%) translateY(-2px)}
.minigame-root[data-game="niwamaster"] .toast .row{display:flex;gap:10px;align-items:flex-start}
.minigame-root[data-game="niwamaster"] .toast .dot{width:10px;height:10px;border-radius:99px;margin-top:3px;flex:0 0 auto;
      background:var(--good);
      box-shadow: 0 0 0 4px rgba(143,255,189,.12);}
.minigame-root[data-game="niwamaster"] .toast.bad .dot{background:var(--bad); box-shadow: 0 0 0 4px rgba(255,123,123,.12);}
.minigame-root[data-game="niwamaster"] .toast.warn .dot{background:var(--warn); box-shadow: 0 0 0 4px rgba(255,211,122,.12);}
.minigame-root[data-game="niwamaster"] .modal{position:fixed; inset:0;
      background:rgba(0,0,0,.55);
      display:none;
      align-items:center;justify-content:center;
      padding:16px;z-index:60;}
.minigame-root[data-game="niwamaster"] .modal.show{display:flex}
.minigame-root[data-game="niwamaster"] .modal .box{width:min(720px, 100%);
      background:rgba(12,16,33,.88);
      border:1px solid rgba(255,255,255,.16);
      border-radius:24px;
      box-shadow: 0 30px 80px rgba(0,0,0,.55);
      backdrop-filter: blur(12px);
      overflow:hidden;}
.minigame-root[data-game="niwamaster"] .modal .box .h{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.14);
      display:flex;align-items:center;justify-content:space-between;gap:10px;}
.minigame-root[data-game="niwamaster"] .modal .box .h b{font-size:14px}
.minigame-root[data-game="niwamaster"] .modal .box .c{padding:16px;color:rgba(255,255,255,.86);font-size:13px;line-height:1.7}
.minigame-root[data-game="niwamaster"] .modal .box .c ul{margin:10px 0 0; padding-left:18px}
.minigame-root[data-game="niwamaster"] .modal .box .f{padding:14px 16px;border-top:1px solid rgba(255,255,255,.14);
      display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.minigame-root[data-game="niwamaster"] .modal textarea{width:100%;min-height:88px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.06);
      color:rgba(255,255,255,.92);
      padding:10px 12px;
      font-size:12px;
      outline:none;
      resize:vertical;}
.minigame-root[data-game="niwamaster"] #boardWrap, .minigame-root[data-game="niwamaster"] .boardWrap, .minigame-root[data-game="niwamaster"] .slot, .minigame-root[data-game="niwamaster"] .piece{touch-action:none;
      -webkit-user-select:none;
      user-select:none;
      -webkit-touch-callout:none;}
