/* 连连看(pikachu/stage.php), 通用部分在 duelkit/duel.css。无边框沉浸式。类名 pk- 前缀。
   版面: 顶栏 → 关卡 / 时间线 / 分数一行 → 棋盘居中 → 提示 → 底部文字按钮(同其它游戏)。背景: 深翡翠夜色 + 虚化的暖光 */
.pk-stage{background:radial-gradient(ellipse 70% 60% at 18% 12%,#2f6a5566,#0000 70%),radial-gradient(ellipse 60% 55% at 88% 86%,#8a572a59,#0000 70%),radial-gradient(ellipse at 50% 48%,#1c322b,#0c1512 58%,#060a08)}
.pk-stage::before{content:"";position:absolute;inset:-10%;pointer-events:none;opacity:.75;filter:blur(3px);animation:pk-drift 26s ease-in-out infinite alternate;
  background:radial-gradient(circle 46px at 12% 72%,#e8cb8a2e,#0000),radial-gradient(circle 70px at 82% 20%,#e8cb8a24,#0000),radial-gradient(circle 30px at 30% 18%,#a6eebb2b,#0000),radial-gradient(circle 58px at 64% 88%,#e8cb8a1f,#0000),radial-gradient(circle 22px at 92% 58%,#fff3cf2e,#0000),radial-gradient(circle 34px at 6% 34%,#a6eebb24,#0000)}
@keyframes pk-drift{to{transform:translate(2.5%,-2%) scale(1.04)}}
.pk-hud{position:absolute;left:var(--pad);right:var(--pad);top:56px;z-index:5;display:flex;align-items:center;gap:16px}
.pk-hud>b{font:500 16px/1.4 var(--serif);letter-spacing:.1em;white-space:nowrap}
.pk-time{flex:1;min-width:60px;height:2px;background:#ffffff26}
.pk-time i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#e8cb8a,#fff3cf);box-shadow:0 0 10px #e8cb8acc}
.pk-time.is-low i{background:#ff7d6b;box-shadow:0 0 10px #ff7d6b;animation:pk-blink .5s infinite alternate}
@keyframes pk-blink{to{opacity:.45}}
.pk-num{min-width:52px;font:500 16px/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;white-space:nowrap}
.pk-score{min-width:76px;color:var(--gold)}
.pk-stage .dk-acts small{color:var(--gold)}
/* 棋盘: 不要盘子和边框, 牌直接浮在夜色上 */
.pk-board-wrap{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);margin-top:6px}
.pk-board{position:relative;width:100%;height:100%}
.pk-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}
.pk-line polyline{fill:none;stroke:#fff3cf;stroke-width:calc(var(--pk-cell,44px)*.06);stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 4px #e8cb8a) drop-shadow(0 0 14px #e8a93f)}
/* 牌: 釉面象牙。亮面高光 + 底部厚度 + 贴地的软影, 没有描边 */
.pk-tile{position:absolute;left:0;top:0;width:calc(var(--pk-cell) - 4px);height:calc(var(--pk-cell) - 4px);margin:2px;padding:calc(var(--pk-cell)*.08);overflow:hidden;border-radius:calc(var(--pk-cell)*.13);background:linear-gradient(158deg,#fffdf7 0,#f5ecd9 52%,#e4d6bb 100%)!important;text-shadow:none;
  box-shadow:inset 0 1px 0 #fff,inset 0 -1px 1px #b49d7466,0 calc(var(--pk-cell)*.055) 0 #a48d64,0 calc(var(--pk-cell)*.075) 0 #6f5c3d,0 calc(var(--pk-cell)*.2) calc(var(--pk-cell)*.28) #000a;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .18s,filter .15s}
.pk-tile::before{content:"";position:absolute;left:6%;right:6%;top:4%;height:38%;border-radius:50%/60%;background:linear-gradient(#ffffffb3,#fff0);pointer-events:none} /* 釉面高光 */
.pk-tile svg{position:relative;display:block;width:100%;height:100%;pointer-events:none;filter:saturate(.88) drop-shadow(0 1px 1px #5a3f1f55)}
.pk-tile:hover{filter:brightness(1.05)}
.pk-tile.is-sel{background:linear-gradient(158deg,#fff8dd,#f7dd97 60%,#e2b95f)!important;box-shadow:inset 0 1px 0 #fff,0 calc(var(--pk-cell)*.055) 0 #a47c30,0 calc(var(--pk-cell)*.075) 0 #6f5320,0 0 calc(var(--pk-cell)*.5) #f3cf7ccc}
.pk-tile.is-hint{animation:pk-hint .6s infinite alternate}
.pk-tile.is-wrong{animation:pk-wrong .3s}
.pk-tile.is-gone{opacity:0;pointer-events:none}
.pk-stage button.pk-tile:focus-visible{outline:2px solid #fff3cf;outline-offset:1px;z-index:2}
@keyframes pk-hint{to{box-shadow:inset 0 1px 0 #fff,0 calc(var(--pk-cell)*.055) 0 #6f9a7c,0 0 calc(var(--pk-cell)*.5) #a6eebbdd}}
@keyframes pk-wrong{25%{margin-left:-2px}75%{margin-left:6px}}
.pk-msg{bottom:64px}
/* 选关: 只有数字和星 */
.pk-levels{width:min(100%,560px)}
.pk-lvgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:24px}
.pk-lv{min-height:60px;font:500 21px/1.2 var(--serif);transition:background .18s,color .18s}
.pk-lv:hover:not(:disabled){background:#ffffff0f;color:var(--gold)}
.pk-lv small{display:block;font:400 10px/1.4 system-ui,sans-serif;letter-spacing:1px;color:var(--gold);min-height:14px}
.pk-stars{font-size:30px;letter-spacing:10px;color:var(--gold)!important;margin:8px 0!important;text-shadow:0 0 18px #e8cb8a88}
.pk-stars:empty{display:none}
@container (max-width:760px){.pk-hud{top:48px;gap:10px}.pk-lvgrid{grid-template-columns:repeat(5,1fr)}.pk-msg{bottom:56px}.pk-score{min-width:62px}}
