/* P200 features v1 (2026-10-23) : flip entrance / lobby / fragments / lighting / replay */
:root{--f-bg:#161513;--f-sur:#26231F;--f-line:#3A352F;--f-gold:#B9925A;--f-gold2:#d8b77e;--f-text:#F3EFE8;--f-mut:#A3988C;--f-felt:#24463a}
/* 1. table flip */
#pf-flip{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#2a2621 0,#0d0c0b 75%);perspective:1400px;pointer-events:all;opacity:0;transition:opacity .18s}
#pf-flip.on{opacity:1}
#pf-flip .tbl{width:min(78vw,620px);aspect-ratio:2/1.1;position:relative;transform-style:preserve-3d;animation:pfFlip 1s cubic-bezier(.7,-0.15,.25,1.15) forwards}
#pf-flip .face{position:absolute;inset:0;border-radius:999px;backface-visibility:hidden;display:grid;place-items:center}
#pf-flip .front{background:radial-gradient(ellipse at 50% 45%,#2f5a4a,var(--f-felt) 60%,#162c24);box-shadow:0 0 0 10px #3b2a1c,0 0 0 12px var(--f-gold),0 30px 60px #000a}
#pf-flip .back{transform:rotateX(180deg);background:repeating-linear-gradient(90deg,#4a3424 0 22px,#3e2b1e 22px 24px);box-shadow:0 0 0 2px var(--f-gold),0 30px 60px #000a}
#pf-flip .mark{font:700 clamp(18px,4vw,30px)/1 Georgia,serif;letter-spacing:.35em;color:var(--f-gold2);text-indent:.35em}
#pf-flip .sub{position:absolute;bottom:14%;width:100%;text-align:center;font-size:12px;letter-spacing:.3em;color:#e9dcc4b0}
@keyframes pfFlip{0%{transform:rotateX(0) translateY(0) scale(1)}35%{transform:rotateX(-20deg) translateY(-6%) scale(1.03)}100%{transform:rotateX(180deg) translateY(0) scale(1.06)}}
@media (prefers-reduced-motion:reduce){#pf-flip .tbl{animation-duration:.01s}}
/* 3. lobby */
#pf-lobby{position:fixed;inset:0;z-index:9000;background:var(--f-bg);color:var(--f-text);display:none;grid-template-rows:auto 1fr auto;font-family:"Hiragino Sans","Noto Sans JP",sans-serif}
#pf-lobby.open{display:grid}
#pf-lobby header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--f-line)}
#pf-lobby h2{margin:0;font:600 13px/1 Georgia,serif;letter-spacing:.32em;color:var(--f-gold2)}
#pf-lobby h2 small{display:block;margin-top:6px;font:400 11px/1 "Hiragino Sans",sans-serif;letter-spacing:.12em;color:var(--f-mut)}
.pf-ghost{background:transparent;border:1px solid var(--f-line);color:var(--f-text);border-radius:999px;padding:8px 14px;font-size:12px;cursor:pointer}
.pf-ghost:hover{border-color:var(--f-gold)}
#pf-lobby .stage{position:relative;overflow:hidden;min-height:0}
#pf-lobby iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#1e1c1a}
#pf-light{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .8s;background:radial-gradient(ellipse 40% 35% at 50% 55%,#ffd99a33,transparent 70%),radial-gradient(circle at 12% 18%,#ffcf8a2a,transparent 30%),radial-gradient(circle at 88% 22%,#ffcf8a22,transparent 28%),linear-gradient(#0000,#0006);mix-blend-mode:screen}
#pf-lobby.lit #pf-light{opacity:1}
#pf-lobby nav{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--f-line);background:linear-gradient(#1b1917,#141311)}
.pf-furn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;background:var(--f-sur);border:1px solid var(--f-line);border-radius:14px;color:var(--f-text);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}
.pf-furn:hover,.pf-furn:focus-visible{transform:translateY(-3px);border-color:var(--f-gold);box-shadow:0 10px 24px #0008,0 0 0 1px #b9925a40;outline:0}
.pf-furn svg{width:34px;height:34px;stroke:var(--f-gold2);fill:none;stroke-width:1.4}
.pf-furn b{font-size:12px;font-weight:600;letter-spacing:.06em}
.pf-furn span{font-size:10px;color:var(--f-mut);letter-spacing:.08em}
.pf-furn.main{border-color:#b9925a80;background:linear-gradient(160deg,#2e2a24,#22201c)}
@media (max-width:600px){#pf-lobby nav{gap:6px;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.pf-furn{padding:9px 2px 8px;border-radius:12px}.pf-furn svg{width:26px;height:26px}.pf-furn b{font-size:11px}.pf-furn span{display:none}#pf-lobby header{padding:10px 12px}}
/* panels (collection / theater) */
.pf-panel{position:absolute;inset:auto 0 0 0;max-height:78%;overflow:auto;background:#1c1a17f2;backdrop-filter:blur(10px);border-top:1px solid var(--f-gold);border-radius:18px 18px 0 0;padding:18px;transform:translateY(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);z-index:3}
.pf-panel.open{transform:none}
@media (min-width:900px){.pf-panel{inset:16px 16px 16px auto;width:400px;max-height:none;border:1px solid var(--f-line);border-radius:18px;transform:translateX(110%)}}
.pf-panel h3{margin:0 0 4px;font:600 12px Georgia,serif;letter-spacing:.3em;color:var(--f-gold2)}
.pf-panel p.note{margin:0 0 14px;font-size:11px;color:var(--f-mut);line-height:1.7}
.pf-frag{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--f-line);border-radius:12px;margin-bottom:14px}
.pf-frag .gems{display:flex;gap:5px}.pf-frag .gems i{width:14px;height:14px;transform:rotate(45deg);border:1px solid var(--f-gold);display:block}.pf-frag .gems i.f{background:linear-gradient(135deg,var(--f-gold2),var(--f-gold))}
.pf-frag .txt{flex:1;font-size:12px}.pf-frag .txt small{display:block;color:var(--f-mut);font-size:10px;margin-top:2px}
.pf-btn{background:var(--f-gold);color:#1a1712;border:0;border-radius:999px;padding:9px 14px;font-weight:700;font-size:12px;cursor:pointer}
.pf-btn:disabled{background:#3a352f;color:#7a7066;cursor:not-allowed}
.pf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.pf-item{border:1px solid var(--f-line);border-radius:12px;padding:10px;font-size:12px;position:relative;opacity:.45}
.pf-item.own{opacity:1}.pf-item .sw{display:flex;gap:4px;margin-top:6px}.pf-item .sw i{width:12px;height:12px;border-radius:50%;border:1px solid #0006}
.pf-item .cnt{position:absolute;right:8px;top:8px;font-size:10px;color:var(--f-gold2)}
.pf-set{margin:14px 0 8px;font-size:11px;letter-spacing:.12em;color:var(--f-mut);display:flex;justify-content:space-between}
.pf-bar{height:6px;border-radius:6px;background:#2f2b26;overflow:hidden;margin-bottom:12px}.pf-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--f-gold),var(--f-gold2))}
.pf-lock{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:12px;background:#24211d;font-size:12px}
#pf-lobby .pf-theater iframe{position:relative;inset:auto;width:100%;height:60vh;border:0;border-radius:12px}
/* toast */
#pf-toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,20px);opacity:0;z-index:10000;background:#1c1a17f2;border:1px solid var(--f-gold);color:var(--f-text);padding:10px 16px;border-radius:999px;font-size:12px;transition:.3s;pointer-events:none;white-space:nowrap}
#pf-toast.on{opacity:1;transform:translate(-50%,0)}
/* home entry */
#pf-room-entry{margin-top:10px;width:100%;background:transparent;border:1px solid #b9925a90;color:#e9dcc4;border-radius:12px;padding:12px;font-size:13px;letter-spacing:.12em;cursor:pointer}
#pf-room-entry:hover{background:#b9925a18}
/* 5. replay */
#pf-replay{position:fixed;left:50%;top:calc(50% - 20px);transform:translateX(-50%);z-index:900;box-shadow:0 10px 30px #000a;display:inline-flex;align-items:center;gap:8px;background:#1c1a17;border:1px solid var(--f-gold);color:var(--f-gold2);border-radius:999px;padding:7px 14px 7px 10px;font-size:12px;letter-spacing:.08em;cursor:pointer;animation:pfIn .5s ease both}
#pf-replay svg{width:16px;height:16px;fill:var(--f-gold2)}
#pf-replay small{color:var(--f-mut);font-size:10px}
@keyframes pfIn{from{opacity:0;margin-top:8px}}
#pf-theater-ov{position:fixed;inset:0;z-index:9500;background:#000c;display:none;place-items:center}
#pf-theater-ov.open{display:grid}
#pf-theater-ov .box{width:min(96vw,1100px);height:min(90vh,760px);background:var(--f-bg);border:1px solid var(--f-line);border-radius:16px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
#pf-theater-ov .bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;color:var(--f-gold2);font:600 12px Georgia,serif;letter-spacing:.3em}
#pf-theater-ov iframe{width:100%;height:100%;border:0}

/* v2: hidden-condition reveal */
#pf-reveal{position:fixed;inset:0;z-index:10001;display:grid;place-items:center;background:#0008;opacity:0;transition:opacity .25s}
#pf-reveal.on{opacity:1}
#pf-reveal .pf-rcard{width:min(86vw,340px);text-align:center;padding:26px 22px 20px;border-radius:18px;background:linear-gradient(170deg,#2c2822,#1b1916);border:1px solid var(--f-gold);box-shadow:0 30px 70px #000c,0 0 0 6px #b9925a14;color:var(--f-text);transform:translateY(10px) scale(.97);transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
#pf-reveal.on .pf-rcard{transform:none}
#pf-reveal small{display:block;font:600 11px Georgia,serif;letter-spacing:.35em;color:var(--f-gold2);margin-bottom:10px}
#pf-reveal b{display:block;font-size:17px;letter-spacing:.04em;margin-bottom:8px}
#pf-reveal em{display:block;font-style:normal;font-size:12px;color:var(--f-mut);line-height:1.7}
#pf-reveal .gift{margin:16px 0;padding:14px;border-radius:12px;background:#ffffff08;border:1px dashed #b9925a70;display:grid;gap:4px;font-size:12px;color:var(--f-mut)}
#pf-reveal .gift strong{color:var(--f-text);font-size:15px}
#pf-reveal.omimai .pf-rcard{background:linear-gradient(170deg,#2a2a2c,#1a1a1c);border-color:#8f9aa8;box-shadow:0 30px 70px #000c}
#pf-reveal.omimai small{color:#b8c2cf;letter-spacing:.2em;font-family:inherit}
#pf-reveal.omimai .gift{border-color:#8f9aa870}
.pf-found{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pf-found span{font-size:11px;padding:5px 10px;border-radius:999px;border:1px solid #b9925a80;color:var(--f-gold2)}.pf-found span.mi{border-color:#8f9aa8;color:#c3ccd8}.pf-found i{font-size:11px;color:var(--f-mut)}
/* v2: theater fullscreen on mobile */
@media (max-width:600px){#pf-sub.pf-panel{position:fixed;inset:0;max-height:none;height:100%;border-radius:0;border:0;z-index:9600;display:flex;flex-direction:column;overflow:hidden;background:#161513;backdrop-filter:none;padding:10px 12px 0}#pf-lobby #pf-sub iframe{position:static;flex:none;height:calc(100dvh - 64px)!important;width:100%;border-radius:0}
#pf-theater-ov .box{width:100vw;height:100vh;height:100dvh;border-radius:0;border:0}}

/* v4 mischief & wear (CSS/SVG only) */
#pf-mess{position:absolute;inset:0;pointer-events:none;z-index:3}
.pf-prop{position:absolute;left:-999px;top:-999px;transform:translate(-50%,-78%) scale(var(--s,1));transform-origin:50% 78%;pointer-events:auto;background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;animation:pfDrop .5s cubic-bezier(.2,1.4,.4,1)}
.pf-prop svg{display:block;filter:drop-shadow(0 4px 6px #0007)}
.pf-prop.egg svg,.pf-prop.milk svg{width:clamp(64px,9vw,110px)}.pf-prop.kiwi svg{width:clamp(80px,11vw,130px)}.pf-prop.poop svg{width:clamp(28px,3vw,40px)}
.pf-prop .sofa{display:block;width:clamp(70px,8vw,104px);height:clamp(22px,2.4vw,30px);border-radius:10px 10px 6px 6px;background:linear-gradient(#5a4636,#3d2f25);box-shadow:inset 0 2px 0 #ffffff14,0 6px 10px #0008;order:2}
.pf-prop em{font-style:normal;font-size:10px;letter-spacing:.08em;color:#e9dcc4;background:#161513cc;border:1px solid #b9925a60;border-radius:99px;padding:2px 8px;margin-top:4px;white-space:nowrap;order:3;opacity:.9}
.pf-prop:hover svg,.pf-prop:focus-visible svg{transform:scale(1.06)}.pf-prop:focus-visible{outline:2px solid var(--f-gold);outline-offset:4px;border-radius:8px}
.pf-prop.gone{animation:pfSweep .45s ease-in forwards}
@keyframes pfDrop{from{opacity:0;translate:0 -20px}}
@keyframes pfSweep{to{opacity:0;scale:.3;rotate:25deg;filter:blur(2px)}}
#pf-lobby .stage iframe{transition:filter .8s}
#pf-lobby[data-wear="1"] .stage iframe{filter:saturate(.82) brightness(.95) sepia(.08)}
#pf-lobby[data-wear="2"] .stage iframe{filter:saturate(.6) brightness(.88) sepia(.18)}
#pf-lobby[data-wear="3"] .stage iframe{filter:saturate(.42) brightness(.8) sepia(.28) contrast(.95)}
#pf-lobby[data-wear="2"] .pf-furn,#pf-lobby[data-wear="3"] .pf-furn{border-style:dashed;filter:saturate(.6)}
#pf-lobby[data-wear="3"] .pf-furn svg{stroke:#8d7a5f}
#pf-lobby.shine .stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(115deg,transparent 35%,#fff3d433 48%,#ffffff55 50%,#fff3d433 52%,transparent 65%);background-size:250% 100%;animation:pfShine 1.2s ease-out forwards}
@keyframes pfShine{from{background-position:120% 0}to{background-position:-60% 0}}
@media (prefers-reduced-motion:reduce){.pf-prop,.pf-prop.gone,#pf-lobby.shine .stage::after{animation:none}}
#pf-mess .pf-prop{background:none!important;border:0!important;box-shadow:none!important;min-width:0;min-height:0;width:auto;height:auto}

/* v6: visibility + tap targets */
#pf-mess .pf-prop{min-width:50px;min-height:50px;justify-content:center;z-index:2}
#pf-mess .pf-prop.poop{z-index:3}
.pf-prop.poop svg{width:clamp(42px,4.4vw,58px)!important;filter:drop-shadow(0 0 6px #f3d9a0aa) drop-shadow(0 4px 6px #000a)}
.pf-prop.poop em{border-color:#d8b77e}
@media (max-width:600px){.pf-prop.egg svg,.pf-prop.milk svg{width:84px}.pf-prop.kiwi svg{width:96px}.pf-prop.poop svg{width:46px!important}.pf-prop em{font-size:12px;padding:3px 9px}}
.pf-prop.nolabel em{display:none}
.pf-prop em{font-size:11px}
.pf-prop img{display:block;filter:drop-shadow(0 4px 6px #0008);pointer-events:none;-webkit-user-drag:none}
.pf-prop.egg img{width:clamp(70px,8vw,104px)}.pf-prop.kiwi img{width:clamp(64px,7vw,92px)}
@media (max-width:600px){.pf-prop.egg img{width:88px}.pf-prop.kiwi img{width:80px}}
.pf-prop.poop img{width:clamp(44px,4.6vw,60px);filter:drop-shadow(0 0 6px #f3d9a088) drop-shadow(0 4px 6px #000a)}.pf-prop.milk img{width:clamp(72px,8vw,104px)}
@media (max-width:600px){.pf-prop.poop img{width:50px}.pf-prop.milk img{width:88px}}

/* 試作v3: 魚（ありがた迷惑・びちゃびちゃ）とアザラシ（のそのそ） */
.pf-prop.fish{overflow:visible}
.pf-prop.fish img{position:relative;width:112px;animation:pfThrash 1.1s cubic-bezier(.3,0,.4,1) infinite;transform-origin:50% 85%;z-index:2}
@keyframes pfThrash{0%{transform:translate(0,0) rotate(-10deg)}12%{transform:translate(-8px,-26px) rotate(28deg) scaleX(.9)}24%{transform:translate(-12px,0) rotate(-18deg) scaleY(.85)}34%{transform:translate(-4px,-14px) rotate(-36deg)}46%{transform:translate(6px,0) rotate(14deg) scaleY(.88)}58%{transform:translate(12px,-30px) rotate(-30deg) scaleX(.9)}70%{transform:translate(16px,0) rotate(20deg) scaleY(.85)}82%{transform:translate(6px,-10px) rotate(-8deg)}100%{transform:translate(0,0) rotate(-10deg)}}
.pf-wet{position:absolute;left:50%;top:40%;width:0;height:0;pointer-events:none;z-index:3}
.pf-wet .dr{position:absolute;width:7px;height:10px;left:-3px;top:-5px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 35% 30%,#fff,#bfe8ff 45%,#6fb6e0);box-shadow:0 0 0 1px #5aa6d666;opacity:0;animation:pfSpray 1.1s cubic-bezier(.2,.6,.4,1) infinite}
@keyframes pfSpray{0%{opacity:0;transform:translate(0,0) scale(.5)}10%{opacity:1}50%{opacity:1;transform:translate(calc(var(--x)*.75),var(--y)) scale(1)}100%{opacity:0;transform:translate(var(--x),calc(var(--y)*.2 + 26px)) scale(.7)}}
.pf-gift{position:absolute;left:50%;top:-30px;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:700;color:#3b2a10;background:#f4ead8;border:1px solid #b89a62;border-radius:10px;padding:2px 8px;z-index:3;pointer-events:none;animation:pfGift 4s ease-in-out infinite}
@keyframes pfGift{0%,100%{transform:translateX(-50%) rotate(-3deg)}50%{transform:translateX(-50%) translateY(-3px) rotate(3deg)}}
.pf-prop.seal img{width:92px;animation:pfSlug 5.5s ease-in-out infinite;transform-origin:50% 100%}
@keyframes pfSlug{0%{transform:translateX(-14px) scale(1,1)}10%{transform:translateX(-12px) scale(1.06,.9)}22%{transform:translateX(-4px) scale(.94,1.06) rotate(-2deg)}32%{transform:translateX(0) scale(1,1)}42%{transform:translateX(2px) scale(1.06,.9)}54%{transform:translateX(10px) scale(.94,1.06) rotate(2deg)}64%{transform:translateX(14px) scale(1,1)}72%{transform:translateX(14px) scale(1,1) rotate(0)}82%{transform:translateX(14px) scaleX(-1)}92%{transform:translateX(0) scaleX(-1) scaleY(.92)}100%{transform:translateX(-14px) scale(1,1)}}
.pf-prop.seal.leave{z-index:5}
.pf-prop.seal.leave em{opacity:0;transition:opacity .3s}
.pf-prop.seal.leave img{animation:pfSlugOff 3.8s linear forwards}
@keyframes pfSlugOff{0%{transform:translate(0,0) scale(1,1)}8%{transform:translate(6px,0) scale(1.08,.88)}16%{transform:translate(22px,0) scale(.94,1.05)}24%{transform:translate(30px,0) scale(1.08,.88)}32%{transform:translate(48px,0) scale(.94,1.05)}40%{transform:translate(56px,0) scale(1.08,.88)}48%{transform:translate(76px,0) scale(.94,1.05)}56%{transform:translate(86px,0) scale(1.06,.9)}62%{transform:translate(100px,2px) rotate(8deg)}68%{transform:translate(110px,6px) rotate(24deg)}74%{transform:translate(120px,30px) rotate(50deg);animation-timing-function:ease-in}100%{transform:translate(140px,560px) rotate(110deg)}}
@media (prefers-reduced-motion:reduce){.pf-prop.fish img,.pf-prop.seal img,.pf-wet *,.pf-gift{animation:none}.pf-wet .dr{display:none}}

/* P200 fall video v1 (2026-10-24) */
#p200-fall{position:fixed;inset:0;z-index:10002;display:none;align-items:center;justify-content:center;background:rgba(10,16,28,.55)}
#p200-fall.on{display:flex}
#p200-fall .pf-card{position:relative;width:min(78vw,360px);aspect-ratio:1;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.35);animation:pfIn .25s ease-out}
#p200-fall video{width:100%;height:100%;object-fit:cover;display:block}
#p200-fall .pf-ko{position:absolute;left:0;right:0;bottom:10px;text-align:center;font:900 28px/1 system-ui,sans-serif;color:#e8452c;text-shadow:0 2px 0 #fff,0 0 8px #fff;opacity:0;transition:opacity .3s}
#p200-fall.held .pf-ko{opacity:1}
#p200-fall .pf-close{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:20px;cursor:pointer}
@keyframes pfIn{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
/* P200 fall video v3 in-seat (2026-10-24) */
.p200-fall-seat{position:absolute;z-index:5;pointer-events:none;object-fit:contain;background:transparent;opacity:0;max-width:none}
.p200-fall-seat.on{opacity:1}
.p200-fall-seat.free{position:fixed;left:50%;top:30%;width:200px;height:200px;transform:translate(-50%,-50%)}
.p200-fall-seat{transition:transform .6s ease-in-out}
.p200-fall-seat.nudged{transform:translateX(var(--nudge,0px))}
/* p200 under-presets row */
.p2u-row{height:44px;margin-top:6px;flex:none;width:100%;grid-column:1/-1}
@media(min-width:900px){.p2u-row{display:none}}
body.p2u #auto-next-toggle,body.p2u #pf-replay,body.p2u .action-panel>.manual-reaction{position:fixed!important;right:auto!important;bottom:auto!important;transform:none!important;height:44px!important;min-height:44px!important;z-index:40;box-sizing:border-box;margin:0!important}
body.p2u #auto-next-toggle{padding:2px 4px;font-size:11px;line-height:1.15;white-space:normal}
body.p2u #pf-replay{justify-content:center;padding:4px 8px;font-size:12px;gap:4px;border-radius:10px;white-space:nowrap;overflow:hidden}
body.p2u #pf-replay small{font-size:9px}
body.p2u #auto-next-countdown{display:none}
@media(min-width:900px){body.p2u #auto-next-toggle{font-size:10px;line-height:1.1;padding:1px 2px;letter-spacing:-.02em}}

/* bak-31: under-presets row sits directly under the presets (grid row 4); 音声入力 goes under ALL-IN; ADD line below */
@media(max-width:899px){
body.p2u :is(#actions,#online-actions) .raise-controls{grid-template-rows:44px 44px 44px 44px auto!important}
body.p2u .raise-controls>.p2u-row{grid-row:4!important;grid-column:1/-1!important;margin-top:0!important}
body.p2u .raise-controls>.amount-voice-details{grid-row:4!important;grid-column:1/-1!important;justify-self:end;width:var(--p2u-cw,60px)!important;margin:0!important;z-index:41}
body.p2u .raise-controls>.amount-voice-details>summary{height:44px;min-height:44px;padding:2px 3px;font-size:10.5px;line-height:13px;text-align:center;word-break:keep-all;overflow-wrap:anywhere;border-radius:10px;box-sizing:border-box}
body.p2u .raise-controls>.raise-cost{grid-row:5!important;grid-column:1/-1!important;margin:2px 0 0!important;min-height:0;line-height:14px}
}

/* bak-31: game screen fits the visible viewport; the page itself never scrolls (Safari kept a scroll offset, hiding the header under the URL bar) */
@media(max-width:899px){
html:has(body.p200-frame:not(.solo-top-open)),body.p200-frame:not(.solo-top-open){height:100%;overflow:hidden!important;overscroll-behavior:none}
body.p200-frame:not(.solo-top-open) #practice-main{height:var(--p200-visible-height,100dvh)!important;max-height:100dvh;padding-top:max(4px,env(safe-area-inset-top))!important;padding-bottom:max(4px,env(safe-area-inset-bottom))!important;box-sizing:border-box!important}
}
/* bak-31: uploaded photo icon = circle with gold ring (seat, settings preview, picker) */
img.profile-picture:not(.profile-character),img.profile-picture[src^="data:"],img.profile-picture[src^="blob:"],#character-table-hero[src^="data:"],.s2v [data-photo] img{border-radius:50%!important;object-fit:cover!important;aspect-ratio:1/1!important;height:auto!important;border:3px solid #d9a845!important;box-shadow:0 0 0 2px #6b4126,0 3px 8px #0006!important;box-sizing:border-box!important;background:#f7ecd6}
body.p200-frame :is(#hero-seat,#ai-seat) .profile-slot img.profile-picture:not(.profile-character){width:58px!important;height:58px!important;max-width:58px!important;margin:0 auto!important;display:block!important}
@media(min-width:900px){body.p200-frame :is(#hero-seat,#ai-seat) .profile-slot img.profile-picture:not(.profile-character){width:84px!important;height:84px!important;max-width:84px!important}}
/* v32 per-seat bets */
.p32bet{position:fixed;z-index:35;pointer-events:none;display:flex;align-items:center;gap:0;height:24px;padding:0 8px 0 4px;border-radius:12px;background:#1b1410e6;border:1px solid #d9a84599;color:#fff3d6;font:700 13px/1 system-ui,sans-serif;box-shadow:0 2px 6px #0007;white-space:nowrap}
.p32bet[hidden]{display:none}
.p32bet i{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#e7c27a 0 35%,#b8832f 36% 55%,#f3e2b5 56% 70%,#b8832f 71%);border:1px solid #5a3a16;margin-right:-7px}
.p32bet i.c3{margin-right:4px}.p32bet b{font-weight:800;letter-spacing:.2px}
.p32fly{transition:transform .55s cubic-bezier(.5,0,.6,1),opacity .55s ease-in}
.pot-label.p32 #pot{display:none!important}
.pot-label.p32 #p32tot{display:block;font:600 10px/1.1 system-ui;color:#e9dcc0b0;text-align:center;letter-spacing:.3px}
.pot-label.p32 #p32tot[hidden]{display:none}
@media(min-width:900px){.p32bet{height:30px;font-size:16px;border-radius:15px}.p32bet i{width:18px;height:18px;margin-right:-9px}.pot-label.p32 #p32tot{font-size:12px}}
/* v32 replay + in-match minigame */
#p32-replay{position:fixed;inset:0;z-index:9000;background:#0009;display:none;align-items:center;justify-content:center;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}
#p32-replay.open{display:flex}
#p32-replay .rb{width:min(560px,100%);max-height:100%;display:flex;flex-direction:column;gap:8px;background:#1b1712;border:1px solid #d9a84588;border-radius:16px;padding:10px;color:#f3e7cf;box-shadow:0 10px 30px #000a}
#p32-replay .rh{display:flex;gap:8px;align-items:center}#p32-replay .rh b{letter-spacing:.2em;color:#e2bd6a}#p32-replay select{flex:1;min-width:0;background:#2a231b;color:inherit;border:1px solid #6e5c44;border-radius:8px;padding:6px}
#p32-replay button{background:#2c261f;color:#f3e7cf;border:1px solid #8a7150;border-radius:10px;padding:9px 12px;font:600 13px system-ui}
#p32-replay .rt{background:radial-gradient(#245c3c,#123622);border-radius:14px;padding:8px;display:grid;gap:6px;justify-items:center}
#p32-replay .rs{font:700 12px system-ui;color:#fff8;letter-spacing:.1em}
#p32-replay .rc,#p32-replay .rbd{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;min-height:44px;transform:scale(.8)}
#p32-replay .rc *,#p32-replay .rbd *{animation:none!important;transition:none!important}
#p32-replay .rl{margin:0;padding:0 0 0 4px;list-style:none;overflow:auto;flex:1;min-height:90px;max-height:32vh;font:12px/1.5 system-ui}
#p32-replay .rl li{padding:3px 6px;border-radius:6px;opacity:.55}#p32-replay .rl li span{display:inline-block;min-width:64px;color:#e2bd6a;font-size:10px}
#p32-replay .rl li.past{opacity:.85}#p32-replay .rl li.on{opacity:1;background:#d9a84533;outline:1px solid #d9a845}
#p32-replay .rn{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:6px}
#p32-mini{position:fixed;z-index:42;padding:0 10px;border-radius:10px;background:#2c261f;color:#f3e7cf;border:1px solid #8a7150;font:600 11px system-ui;right:8px;top:calc(env(safe-area-inset-top) + 52px)}
#p32-mini[hidden]{display:none}
#practice-main{transform-origin:50% 50%}
.p32-flip-out{animation:p32out .52s ease-in forwards}.p32-flip-in{animation:p32in .55s ease-out}
@keyframes p32out{to{transform:perspective(900px) rotateX(90deg) scale(.9);opacity:.4}}
@keyframes p32in{from{transform:perspective(900px) rotateX(-90deg) scale(.9);opacity:.4}}
#practice-main.p32-hidden{visibility:hidden}
#p32-mini-ov{position:fixed;inset:0;z-index:8800;display:none;flex-direction:column;background:#120f0c;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
#p32-mini-ov.open{display:flex;animation:p32in .5s ease-out}#p32-mini-ov.closing{animation:p32out .3s ease-in forwards}
#p32-mini-ov .mh{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;color:#e2bd6a;letter-spacing:.2em;font:700 12px Georgia,serif}
#p32-mini-ov .mh button{background:#2c261f;color:#f3e7cf;border:1px solid #8a7150;border-radius:10px;padding:8px 12px;font:600 12px system-ui;letter-spacing:0}
#p32-mini-ov iframe{flex:1;border:0;width:100%}
#p32-mini-ov{z-index:10050!important}#p32-replay{z-index:10040!important}
/* v32 勝ち星 */
#p32-stars{position:fixed;inset:0;z-index:10060;display:none;align-items:center;justify-content:center;background:rgba(40,24,10,.45);padding:16px}
#p32-stars.open{display:flex}
#p32-stars .sc{width:min(560px,100%);max-height:calc(100% - 8px);overflow:auto;background:#f6ecd8;color:#5a3415;border:3px solid #8a5a2b;border-radius:22px;padding:18px 18px 20px;box-shadow:0 10px 30px rgba(0,0,0,.35);font-family:inherit}
#p32-stars .sh{display:flex;align-items:center;justify-content:space-between}
#p32-stars .sh b{font-size:26px;letter-spacing:.12em}
#p32-stars button{background:#fffaf0;color:#5a3415;border:2px solid #8a5a2b;border-radius:12px;padding:8px 14px;font:inherit;font-weight:700}
#p32-stars button:disabled{opacity:.35}
#p32-stars .ss{margin:6px 0 12px;font-size:13px;opacity:.8}
#p32-stars .sg{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:56px;padding:14px;background:#fffaf0;border:2px dashed #c9a46b;border-radius:16px}
#p32-stars .sg i{font-style:normal;font-size:34px;line-height:1;color:#e0a82e;text-shadow:0 2px 0 #8a5a2b}
#p32-stars .sg em{font-style:normal;opacity:.6;align-self:center}
#p32-stars .sn{display:flex;justify-content:space-around;margin:14px 0 4px;font-weight:800}
#p32-stars .sn .c{font-size:30px}#p32-stars .sn .p{font-size:30px;color:#a0521d}
#p32-stars .sa{display:none;align-items:center;justify-content:center;gap:14px;margin-top:14px;padding-top:12px;border-top:2px solid #e0cba4}
#p32-stars.admin .sa{display:flex}
#p32-stars .sa p{margin:0;font-weight:800}#p32-stars .sa button{width:52px;font-size:22px;padding:6px 0}#p32-stars .sa .c2{min-width:40px;text-align:center;font-size:22px;font-weight:800}
#p32-stars .sc button{background:#fffaf0!important;color:#5a3415!important;border:2px solid #8a5a2b!important;box-shadow:none!important}
/* v33 勝ち星ボタン：パネル内だけに限定して詳細度を上げる */
html body #p32-stars.open .sc button{background:#fffaf0!important;background-image:none!important;color:#5a3415!important;border:2px solid #8a5a2b!important;box-shadow:0 2px 0 #c9a46b!important;filter:none!important;text-shadow:none!important}
html body #p32-stars.open .sc button:active{background:#f0dfbf!important}
html body #p32-stars.open .sc button:disabled{opacity:.35!important}
/* v34 勝ち星：パスワード管理・10個まとめ表示 */
#p32-stars .sn{margin:0 0 10px}
#p32-stars .sg i.b{position:relative;font-size:44px;color:#f2b705;text-shadow:0 2px 0 #8a5a2b,0 0 6px #ffe08a}
#p32-stars .sg i.b small{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);font-size:11px;font-weight:900;color:#5a3415;text-shadow:none}
#p32-stars .sg{align-items:center}
#p32-stars .sl,#p32-stars .cp{display:none;flex-direction:column;gap:8px;margin-top:14px;padding-top:12px;border-top:2px solid #e0cba4}
#p32-stars.admin:not(.unlocked) .sl{display:flex}
#p32-stars.admin .sa{display:none}
#p32-stars.admin.unlocked .sa{display:block}
#p32-stars.admin.unlocked .cp{display:flex}
#p32-stars .sa .row{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:10px}
#p32-stars .sa .rs{width:auto!important;font-size:15px!important;padding:6px 14px!important}
#p32-stars .sl p,#p32-stars .cp p{margin:0;font-weight:800}
#p32-stars .sl .m,#p32-stars .cp .m{font-weight:700;color:#a0521d;min-height:1em}
#p32-stars input{background:#fffaf0;color:#5a3415;border:2px solid #8a5a2b;border-radius:10px;padding:8px 10px;font:inherit}
html body #p32-stars.open .sc input{background:#fffaf0!important;color:#5a3415!important;border:2px solid #8a5a2b!important;-webkit-text-fill-color:#5a3415}
html body #p32-stars.open .sc input::placeholder{color:#a88a66!important;-webkit-text-fill-color:#a88a66}
#p32-stars .sl button,#p32-stars .cp button{align-self:center;white-space:nowrap;min-width:140px}

/* batch35: replay viewer table uses in-game felt colour (.poker-felt radial-gradient #3a352f 35% -> #26231f) */
#p32-replay .rt{background:radial-gradient(#3a352f 35%,#26231f 100%)!important}
/* v38 勝ち星：DDPTスペードマーク */
#p32-stars .sg i{display:inline-flex;align-items:center;justify-content:center;text-shadow:none}
#p32-stars .sg i img{height:34px;width:auto;display:block;filter:drop-shadow(0 1px 0 rgba(90,52,21,.35))}
#p32-stars .sg i.b img{height:44px;filter:drop-shadow(0 0 4px #ffe08a) drop-shadow(0 1px 0 #8a5a2b)}
#p32-stars .sg i.b small{top:50%;font-size:12px;color:#5a3415;background:rgba(255,250,240,.9);border-radius:6px;padding:0 3px;line-height:1.2}
/* batch39: replay table = in-game poker table shape (stadium, rail + felt) */
#p32-replay .rt{position:relative;border-radius:min(120px,32%)/50%!important;background:rgb(58,53,47)!important;border:1px solid rgb(185,146,90);padding:16px 13%!important;box-shadow:0 6px 18px #0007;min-height:210px;align-content:center}
#p32-replay .rt>.rfelt{position:absolute;inset:7px;border-radius:inherit;background:radial-gradient(rgb(58,53,47) 35%,rgb(38,35,31) 100%);border:1px solid rgb(163,152,140);pointer-events:none}
#p32-replay .rt>:not(.rfelt){position:relative;z-index:1}
@media (max-width:420px){#p32-replay .rt{padding:14px 9%!important}#p32-replay .rc,#p32-replay .rbd{transform:scale(.74)}#p32-replay .rc.ai,#p32-replay .rc.hero{margin:-4px 0}}

/* v82n-fix: トントン相撲は全画面。トップから直接開いた時(pf-direct)は部屋のヘッダー・下バー・部屋画面を出さない */
#pf-lobby.pf-direct>header,#pf-lobby.pf-direct>nav{display:none}#pf-lobby.pf-direct .stage>iframe{visibility:hidden}
#pf-lobby #pf-sub.pf-full{position:fixed;inset:0;width:auto;max-height:none;height:100%;border-radius:0;border:0;z-index:9600;display:flex;flex-direction:column;overflow:hidden;background:#161513;backdrop-filter:none;padding:10px 12px 0;transform:translateY(105%)}
#pf-lobby #pf-sub.pf-full.open{transform:none}
#pf-lobby #pf-sub.pf-full iframe{position:static;flex:1 1 auto;height:auto!important;min-height:0;width:100%;border-radius:0}

/* setupstyle 2026-10-28: sumo full-screen sheet (pf-full) top bar matches P200 cream/gold screens before the bout; during the bout (pf-bout) the original dark bar is kept */
#pf-lobby #pf-sub.pf-full:not(.pf-bout){background:radial-gradient(130% 95% at 50% 12%,#fff3d6 0,#f1d9ab 45%,#dcab74 82%,#c48a55 100%)}
#pf-lobby #pf-sub.pf-full:not(.pf-bout) h3{font:900 12px "Arial Black","Noto Sans CJK JP",sans-serif;letter-spacing:.3em;color:#6b4126}
#pf-lobby #pf-sub.pf-full:not(.pf-bout) [data-x].pf-ghost{min-height:40px;border-radius:12px;border:2px solid #6b4126!important;background:#f7ecd6!important;color:#6b4126!important;font-weight:800;font-size:13px;padding:6px 14px}
#pf-lobby #pf-sub.pf-full:not(.pf-bout) iframe{background:transparent;color-scheme:normal}
