.pj{--pj-prompt:clamp(30px, 3.3vw, 84px);--pj-name:clamp(34px, 3.4vw, 88px);--pj-big:clamp(56px, 7.6vw, 190px);--pj-body:clamp(20px, 1.9vw, 44px);--pj-btn-h:clamp(64px, 7.2vh, 104px);--pj-btn-fs:clamp(20px, 1.9vw, 40px);--pj-gap:clamp(12px, 1.8vmin, 32px);--pj-pad:clamp(14px, 2.4vmin, 44px);--pj-good:var(--good);--team-red:#c8283b;--team-red-fg:#fff;--team-blue:#1f5fd0;--team-blue-fg:#fff;--team-green:#14803a;--team-green-fg:#fff;--team-yellow:#f6c61a;--team-yellow-fg:#15181f;font-family:var(--font-body);color:var(--text)}.pj kbd{font:700 .62em/1 var(--font-mono);opacity:.8;white-space:nowrap;vertical-align:.08em;border:1px solid;border-radius:6px;margin-left:.5em;padding:.28em .5em}.pj button{font-family:inherit}.pj-stage{z-index:105;background:radial-gradient(120% 90% at 50% 0%, var(--bg-2), var(--bg) 70%);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.pj-stage>*{flex-shrink:0}.pj-stage>.pj-main{flex:auto;min-height:0}.pj-main{padding:var(--pj-gap) var(--pj-pad);outline:none;flex-direction:column;justify-content:center;align-items:stretch;display:flex;overflow:auto}.pj-main--scroll{justify-content:flex-start}.pj-loading{font-size:var(--pj-body);color:var(--text-2);margin:auto}.pj-top{justify-content:space-between;align-items:center;gap:8px var(--pj-gap);padding:8px var(--pj-pad);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex}.pj-top__id{align-items:center;gap:var(--pj-gap);min-width:0;display:flex}.pj-top__brand{color:var(--accent-strong);letter-spacing:.02em;font-size:clamp(16px,1.4vw,30px);font-weight:700}:root[data-theme=light] .pj-top__brand{color:var(--accent)}.pj-top__title{flex-direction:column;min-width:0;line-height:1.15;display:flex}.pj-top__game{font-size:clamp(18px,1.7vw,38px);font-weight:700}.pj-top__sub{color:var(--text-2);font-size:clamp(14px,1.2vw,26px)}.pj-top__tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pj-tool{border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-2);min-height:clamp(52px,6vh,68px);color:var(--text);cursor:pointer;touch-action:manipulation;padding:0 clamp(12px,1.2vw,24px);font-size:clamp(15px,1.25vw,26px);font-weight:600}.pj-tool:hover{background:var(--surface-3)}.pj-tool[aria-pressed=true]:not(.pj-tool--quit){border-color:var(--accent)}.pj-tool--quit.is-armed{background:var(--bad);border-color:var(--bad);color:#fff}:root[data-theme=light] .pj-tool--quit.is-armed{background:var(--bad)}.pj-timer{text-align:center;min-width:3.2em;color:var(--accent-strong);font-size:clamp(26px,2.8vw,60px);font-weight:700}:root[data-theme=light] .pj-timer{color:var(--accent)}.pj-timer.is-low{color:var(--bad)}.pj-timebar{background:var(--surface-3);height:10px}.pj-timebar i{background:var(--accent);height:100%;transition:width .25s linear;display:block}.pj-timebar i.is-low{background:var(--bad)}.pj-fsnote{padding:10px var(--pj-pad);background:var(--surface-3);color:var(--text);border-bottom:1px solid var(--border);margin:0;font-size:clamp(15px,1.3vw,26px)}.pj-btn{min-height:var(--pj-btn-h);border-radius:var(--r-lg);border:2px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:700 var(--pj-btn-fs)/1.1 var(--font-display);cursor:pointer;touch-action:manipulation;flex-wrap:wrap;justify-content:center;align-items:center;gap:.2em;padding:0 clamp(20px,2.4vw,56px);text-decoration:none;display:inline-flex}.pj-btn:hover:not(:disabled){background:var(--surface-3)}.pj-btn:disabled{opacity:.45;cursor:not-allowed}.pj-btn--primary{background:var(--accent-grad);color:var(--on-accent);border-color:#0000}:root[data-theme=light] .pj-btn--primary{color:#fff}.pj-btn--primary:hover:not(:disabled){background:var(--accent-grad);filter:brightness(1.08)}.pj-btn--ghost{border-color:var(--border-strong);background:0 0}.pj-btn__sub{text-align:center;width:100%;font:500 .6em/1.1 var(--font-body);opacity:.8;margin-top:2px;display:block}.pj-btn:active:not(:disabled),.pj-tool:active,.pj-opt:active,.pj-team:active,.pj-card:active{transform:scale(.98)}.pj-q{gap:var(--pj-gap);min-height:0;animation:pj-in .28s var(--ease-out) both;flex-direction:column;display:flex}.pj-prompt{font-weight:700;font-size:var(--pj-prompt);letter-spacing:-.01em;margin:0;line-height:1.05}.pj-hint{font-size:var(--pj-body);color:var(--text-2);max-width:30em;margin:0}.pj-chips{gap:.4em}.pj-q .ui-chip,.pj-end .ui-chip{gap:.4em;padding:.2em .8em .2em .35em;font-size:clamp(16px,1.55vw,36px)}.pj-q .ui-chip img{width:1.35em;height:1.35em}.pj-q--split{align-items:center;gap:calc(var(--pj-gap) * 2);grid-template-columns:auto minmax(0,1fr);display:grid}.pj-q--say{grid-template-columns:minmax(0,1fr) auto}.pj-q__text{gap:var(--pj-gap);flex-direction:column;align-items:flex-start;min-width:0;display:flex}.pj-board{--size:min(58vh, 40vw);width:var(--size);height:var(--size);border-radius:var(--r-xl);box-shadow:var(--shadow-2), inset 0 0 0 6px color-mix(in srgb, var(--tc,#888) 55%, transparent);background:radial-gradient(circle at 50% 42%,#fff7d1 0%,#ffd56a 48%,#f0a63a 100%);flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.pj-board.is-blank{background:var(--surface-2);box-shadow:var(--shadow-1), inset 0 0 0 4px var(--border-strong)}.pj-board__q{font:700 calc(var(--size) * .55)/1 var(--font-display);color:var(--text-3)}.pj-board__img{object-fit:contain;width:92%;height:92%;transition:filter .45s var(--ease-out)}.pj-board__img.is-sil{filter:brightness(0)}.pj-answer{gap:calc(var(--pj-gap) * .6);animation:pj-in .3s var(--ease-out) both;flex-direction:column;align-items:flex-start;display:flex}.pj-answer__lead{font-size:var(--pj-prompt);color:var(--text-2);margin:0;line-height:1}.pj-bigname{font-weight:700;line-height:.98;font-size:calc(var(--pj-big) * .8);overflow-wrap:anywhere;margin:0}.pj-bigname--huge{font-size:var(--pj-big)}.pj-resp{font-weight:600;font-size:var(--pj-prompt);letter-spacing:.02em;color:var(--accent-strong);margin:0;line-height:1.05}:root[data-theme=light] .pj-resp{color:var(--accent-strong)}.pj-q--duel{text-align:center;align-items:stretch}.pj-q--duel .pj-prompt{text-align:center}.pj-q--duel .pj-hint,.pj-q--duel .pj-explain{text-align:center;align-self:center}.pj-duel{align-items:center;gap:var(--pj-gap);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.pj-vs{color:var(--text-3);font-size:clamp(28px,3.6vw,90px);font-weight:700}.pj-fighter{align-items:center;gap:var(--pj-gap);text-align:left;padding:calc(var(--pj-gap) * .8);border-radius:var(--r-xl);background:var(--surface);border:3px solid var(--border-strong);transition:border-color .3s var(--ease-out), background .3s var(--ease-out);grid-template-columns:auto minmax(0,1fr);display:grid;position:relative}.pj-fighter__text{align-items:flex-start;gap:calc(var(--pj-gap) * .5);flex-direction:column;min-width:0;display:flex}.pj-fighter__art{aspect-ratio:1;border-radius:var(--r-lg);background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--tc) 38%, var(--surface-2)), var(--surface-2) 75%);place-items:center;width:min(27vh,17vw);display:grid}.pj-fighter__art img{object-fit:contain;width:94%;height:94%;transition:filter .3s}.pj-fighter__name{font-weight:700;font-size:var(--pj-name);overflow-wrap:anywhere;margin:0;line-height:1.05}.pj-fighter.is-win{border-color:var(--good);background:color-mix(in srgb, var(--good) 14%, var(--surface))}.pj-fighter.is-lose .pj-fighter__art img{filter:grayscale(.7)}.pj-fighter__badge{border-radius:var(--r-pill);background:var(--good);color:#04130a;letter-spacing:.06em;text-transform:uppercase;padding:.15em .9em;font-size:clamp(16px,1.6vw,36px);font-weight:700;position:absolute;top:-.9em;left:50%;transform:translate(-50%)}:root[data-theme=light] .pj-fighter__badge{color:#fff}.pj-stat{font-weight:700;font-size:calc(var(--pj-name) * 1.35);color:var(--accent-strong);margin:0;line-height:1}.pj-explain{max-width:34em;animation:pj-in .3s var(--ease-out) both;margin:0;font-size:clamp(26px,2.3vw,54px);font-weight:600;line-height:1.25}.pj-actions{justify-content:space-between;align-items:center;gap:var(--pj-gap);padding:var(--pj-gap) var(--pj-pad) 0;flex-wrap:wrap;display:flex}.pj-actions__main{gap:var(--pj-gap);flex-wrap:wrap;margin-left:auto;display:flex}.pj-actions__main .pj-btn{min-width:clamp(180px,16vw,380px)}.pj-teams{grid-template-columns:repeat(var(--n,2), minmax(0, 1fr));gap:var(--pj-gap);padding:var(--pj-gap) var(--pj-pad) var(--pj-pad);display:grid}.pj-teams[data-teams="1"]{--n:1}.pj-teams[data-teams="2"]{--n:2}.pj-teams[data-teams="3"]{--n:3}.pj-teams[data-teams="4"]{--n:4}.pj-team{border-radius:var(--r-lg);cursor:pointer;text-align:left;touch-action:manipulation;background:var(--tb);min-height:clamp(84px,13vh,160px);color:var(--tf);border:3px solid #0000002e;grid-template-columns:auto 1fr auto;grid-template-areas:"name name key""score plus plus";align-items:center;gap:0 .5em;padding:clamp(8px,1.2vh,18px) clamp(12px,1.4vw,28px);display:grid;position:relative}.pj-team--red{--tb:var(--team-red);--tf:var(--team-red-fg)}.pj-team--blue{--tb:var(--team-blue);--tf:var(--team-blue-fg)}.pj-team--green{--tb:var(--team-green);--tf:var(--team-green-fg)}.pj-team--yellow{--tb:var(--team-yellow);--tf:var(--team-yellow-fg)}.pj-team:hover{filter:brightness(1.07)}.pj-team__name{grid-area:name;font-size:clamp(18px,1.9vw,44px);font-weight:700;line-height:1.1}.pj-team__key{font:700 clamp(13px, 1.1vw, 24px)/1 var(--font-mono);opacity:.85;border:2px solid;border-radius:6px;grid-area:key;align-self:start;padding:.25em .55em}.pj-team__score{animation:pj-pop .35s var(--ease-out);grid-area:score;font-size:clamp(40px,5.6vw,130px);font-weight:700;line-height:1}.pj-team__plus{border-radius:var(--r-pill);background:#ffffff38;border:2px solid;grid-area:plus;place-self:center end;padding:.1em .6em;font-size:clamp(22px,2.4vw,56px);font-weight:700}.pj-team--yellow .pj-team__plus{background:#0000001a}.pj-help{right:var(--pj-pad);top:calc(var(--pj-btn-h) + 24px);z-index:3;width:min(680px, calc(100vw - 2 * var(--pj-pad)));border-radius:var(--r-xl);background:var(--surface);border:2px solid var(--border-strong);box-shadow:var(--shadow-2);max-height:calc(100% - 2 * var(--pj-pad));flex-direction:column;gap:14px;padding:clamp(16px,2vmin,32px);display:flex;position:absolute;overflow:auto}.pj-help__title{margin:0;font-size:clamp(22px,2vw,40px)}.pj-help__list{gap:8px;margin:0;display:grid}.pj-help__list>div{grid-template-columns:10.5em 1fr;align-items:center;gap:12px;font-size:clamp(16px,1.4vw,28px);display:grid}.pj-help__list dt,.pj-help__list dd{margin:0}.pj-help__list kbd{margin:0;font-size:.85em}.pj-help__note{color:var(--text-2);margin:0;font-size:clamp(14px,1.2vw,24px)}.pj-help .pj-btn{align-self:flex-start;min-height:56px}.pj-setup{gap:var(--pj-gap);text-align:center;align-items:center}.pj-setup__intro{max-width:46em}.pj-setup__title{font-size:var(--pj-prompt);margin:0 0 .2em;line-height:1.05}.pj-setup__how{font-size:var(--pj-body);color:var(--text-2);margin:0}.pj-setup__grid{gap:var(--pj-gap) calc(var(--pj-gap) * 2);text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,1500px);display:grid}.pj-group{border:0;min-width:0;margin:0;padding:0}.pj-group__label{margin-bottom:.2em;padding:0;font-size:clamp(20px,2vw,44px);font-weight:700}.pj-group__hint{color:var(--text-2);margin:0 0 .4em;font-size:clamp(14px,1.2vw,26px)}.pj-group__opts{flex-wrap:wrap;gap:10px;display:flex}.pj-opt{min-height:var(--pj-btn-h);border-radius:var(--r-lg);border:3px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:700;font-size:var(--pj-btn-fs);cursor:pointer;touch-action:manipulation;align-items:center;gap:.6em;padding:0 clamp(16px,1.8vw,40px);display:inline-flex}.pj-opt:hover{background:var(--surface-3)}.pj-opt.is-on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--surface));box-shadow:inset 0 0 0 2px var(--accent)}.pj-opt.is-on:after{content:"✓";color:var(--accent-strong);font-weight:700}:root[data-theme=light] .pj-opt.is-on:after{color:var(--accent)}.pj-dots{gap:4px;display:inline-flex}.pj-dot{border:2px solid #00000040;border-radius:50%;width:.8em;height:.8em;display:block}.pj-dot--red{background:var(--team-red)}.pj-dot--blue{background:var(--team-blue)}.pj-dot--green{background:var(--team-green)}.pj-dot--yellow{background:var(--team-yellow)}.pj-setup__teams{color:var(--text-2);margin:0;font-size:clamp(16px,1.4vw,30px)}.pj-btn--start{min-width:min(100%,clamp(280px,28vw,620px));font-size:calc(var(--pj-btn-fs) * 1.2)}.pj-error{color:var(--bad);font-weight:700;font-size:var(--pj-body);margin:0}.pj-picker{max-width:var(--content-w);padding:clamp(20px, 4vw, 56px) var(--gutter) clamp(32px, 5vw, 72px);flex-direction:column;gap:clamp(20px,3vw,44px);margin:0 auto;display:flex}.pj-picker--stage{width:100%;padding-left:0;padding-right:0}.pj-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);margin:0;font-size:clamp(13px,1.1vw,24px);font-weight:700}:root[data-theme=light] .pj-eyebrow{color:var(--accent)}.pj-picker__title{margin:.1em 0 .2em;font-size:clamp(30px,3.4vw,72px);line-height:1.03}.pj-picker__lead{max-width:40em;color:var(--text-2);margin:0;font-size:clamp(17px,1.6vw,36px)}.pj-picker__cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:clamp(12px,1.8vw,28px);margin:0;padding:0;list-style:none;display:grid}.pj-card{text-align:left;border-radius:var(--r-xl);border:3px solid var(--border-strong);background:var(--surface);width:100%;height:100%;min-height:64px;color:var(--text);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-1);transition:border-color .2s, transform .2s var(--ease-out);flex-direction:column;align-items:flex-start;gap:.5em;padding:clamp(16px,1.6vw,32px);display:flex}.pj-card:hover{border-color:var(--accent);transform:translateY(-2px)}.pj-card__icon{border-radius:var(--r-md);background:var(--accent-grad);color:#fff;place-items:center;min-width:2.2em;height:2.2em;padding:0 .4em;font-size:clamp(20px,1.8vw,40px);font-weight:700;display:grid}:root[data-theme=dark] .pj-card__icon{color:var(--on-accent)}.pj-card__title{font-size:clamp(22px,1.9vw,44px);font-weight:700;line-height:1.1}.pj-card__tag{color:var(--text);font-size:clamp(16px,1.2vw,28px);line-height:1.35}.pj-card__meta{color:var(--text-2);margin-top:auto;font-size:clamp(14px,1vw,22px)}.pj-picker__foot{color:var(--text-2);margin:0;font-size:clamp(15px,1.3vw,28px)}.pj-picker__foot a{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}:root[data-theme=light] .pj-picker__foot a{color:var(--accent-strong)}.pj-end{text-align:center;align-items:center;gap:var(--pj-gap)}.pj-end__head{font-weight:700;font-size:calc(var(--pj-prompt) * 1.2);outline:none;margin:0;line-height:1.05}.pj-end__scores{grid-template-columns:repeat(var(--n,2), minmax(0, 1fr));gap:var(--pj-gap);width:min(100%,1500px);margin:0;padding:0;list-style:none;display:grid}.pj-end__scores[data-teams="1"]{--n:1;max-width:520px}.pj-end__scores[data-teams="2"]{--n:2}.pj-end__scores[data-teams="3"]{--n:3}.pj-end__scores[data-teams="4"]{--n:4}.pj-score{border-radius:var(--r-xl);background:var(--tb);color:var(--tf);border:4px solid #0000002e;flex-direction:column;align-items:center;gap:.1em;padding:clamp(14px,2.4vh,36px) 12px;display:flex;position:relative}.pj-score.is-lead{border-color:var(--text);box-shadow:0 0 0 4px var(--bg), 0 0 0 8px var(--tb)}.pj-score__name{font-size:clamp(20px,2.2vw,48px);font-weight:700}.pj-score__n{font-size:clamp(64px,11vh,220px);font-weight:700;line-height:1}.pj-score__badge{letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-pill);border:2px solid;padding:.1em .8em;font-size:clamp(15px,1.5vw,32px);font-weight:700}.pj-end__actions,.pj-end__links{justify-content:center;gap:var(--pj-gap);flex-wrap:wrap;display:flex}@media (width<=899px){.pj-q--split,.pj-q--say{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.pj-q__text,.pj-answer{align-items:center}.pj-board{--size:min(42vh, 70vw)}.pj-setup__grid{grid-template-columns:minmax(0,1fr)}.pj-fighter{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.pj-fighter__text{align-items:center}.pj-fighter__art{width:min(20vh,28vw)}.pj-duel{grid-template-columns:minmax(0,1fr)}.pj-vs{display:none}}@media (height<=640px){.pj-board{--size:min(46vh, 36vw)}}@keyframes pj-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes pj-pop{0%{transform:scale(1.35)}to{transform:scale(1)}}:root[data-motion=reduce] .pj *,:root[data-motion=reduce] .pj :before,:root[data-motion=reduce] .pj :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .pj *,:root:not([data-motion=full]) .pj :before,:root:not([data-motion=full]) .pj :after{transition:none!important;animation:none!important}}
