/* Square Play（お客様のスマホ）。色はメニューと同じ（黒×金は要所だけ）。外部の書体は読まない（CSP を絞るため・端末の書体で出す） */
:root{--bg-0:#000;--bg-2:#0E0E0E;--border:#2A2A2A;--border-strong:#3A362E;--ink-1:#F3F0E9;--ink-2:#A8A296;--ink-3:#938D80;--accent:#C9A961;--accent-ink:#17140D;--paper:#EFE8DA;--paper-ink:#1F1B16;--warn:#D9A46A;}
*{box-sizing:border-box;margin:0;padding:0;}
html{background:#000;}
html,body{min-height:100%;}
body{background:var(--bg-0);color:var(--ink-1);font-family:system-ui,-apple-system,'Hiragino Sans','Noto Sans JP',sans-serif;font-size:17px;line-height:1.7;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-image:radial-gradient(120% 60% at 30% 0%,#14120E 0%,#070707 55%,#000 100%);
  padding:0 16px max(24px,env(safe-area-inset-bottom));word-break:keep-all;overflow-wrap:anywhere;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;touch-action:manipulation;}
input{font:inherit;color:inherit;}
img{display:block;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.p-top{padding:20px 0 8px;}
.p-main{max-width:520px;margin:0 auto;padding:16px 0 8px;display:flex;flex-direction:column;gap:14px;}
.p-kind{color:var(--accent);font-size:14px;letter-spacing:.14em;}
.p-h{font-size:24px;font-weight:600;line-height:1.45;}
.p-lead{color:var(--ink-2);}
.p-h,.p-lead,.p-say{word-break:auto-phrase;text-wrap:pretty;}
.p-small{color:var(--ink-3);font-size:14px;}
.p-say{font-size:19px;}
.p-err{color:var(--warn);min-height:1.2em;}
.p-code{color:var(--ink-1);letter-spacing:.16em;font-weight:600;}
.p-form{display:flex;flex-direction:column;gap:10px;}
.p-lab{color:var(--ink-2);font-size:15px;}
.p-in{min-height:54px;padding:0 14px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-2);font-size:18px;}
.p-in:focus{outline:none;border-color:var(--accent);}
.p-btn{min-height:54px;padding:0 18px;border:1px solid var(--border-strong);border-radius:4px;font-size:17px;font-weight:500;}
.p-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.p-btn.sm{min-height:44px;font-size:15px;}
.p-btn:disabled{color:var(--ink-2);}
.p-btn.primary:disabled{background:transparent;border-color:var(--border-strong);}
.p-acts,.p-votes{display:grid;gap:10px;}
.p-hand{display:flex;justify-content:center;gap:14px;padding:8px 0;}
.p-hand .p-card{width:120px;height:168px;}
.p-hand .p-card b{font-size:46px;}
.p-hand .p-card i{font-size:42px;}
.p-board{display:flex;justify-content:center;gap:6px;}
.p-card{width:54px;height:76px;border-radius:6px;background:var(--paper);color:var(--paper-ink);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1;}
.p-card b{font-size:22px;font-weight:700;}
.p-card i{font-style:normal;font-size:20px;}
.p-card.red{color:#9B2F2A;}
.p-card.slot{background:transparent;border:1px dashed var(--border-strong);}
.p-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);}
.p-word{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;border:1px solid var(--border-strong);border-radius:6px;background:rgba(14,14,14,.7);text-align:center;}
.p-word span{color:var(--ink-2);font-size:14px;}
.p-word b{font-size:40px;font-weight:600;line-height:1.3;}
.p-timer{font-size:60px;text-align:center;font-variant-numeric:tabular-nums;}
.nw{white-space:nowrap;}
.p-notice[hidden]{display:none;}
.p-notice{max-width:520px;margin:28px auto 0;padding:12px 14px;border:1px solid var(--border);border-radius:4px;color:var(--ink-2);font-size:14px;}
