:root{--ink:#072f39;--green:#1f4a3d;--cream:#f2ebda;--white:#fffdf3}*{box-sizing:border-box}body,html{margin:0;width:100%;min-height:100%;background:#042d45;color:var(--ink);font-family:Hiragino Maru Gothic ProN,Yu Gothic,system-ui,sans-serif;overflow-x:hidden}button{font:inherit;cursor:pointer;touch-action:manipulation}.title-screen{position:fixed;inset:0;width:100%;height:100svh;min-height:0;display:block;background:#032d50;overflow:hidden}.title-stage{position:relative;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto}.title-stage img,.title-stage picture{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hotspot{position:absolute;z-index:2;place-items:center;border:0;background:transparent;color:#0a3541;font-size:clamp(18px,3.2vw,48px);font-weight:1000;line-height:1;outline-offset:5px}.hotspot,.hotspot span{display:grid;border-radius:999px}.hotspot span{place-items:center;width:88%;height:76%;background:linear-gradient(#fffdf1,#f7e8bc);box-shadow:inset 0 -2px #d6b76d;color:#0a3541}.start-hotspot span{opacity:0}.hotspot:focus-visible,.hotspot:hover{box-shadow:0 0 0 5px #fff,0 0 24px 8px #ffd75e}.hotspot:active{transform:translateY(3px)}.start-hotspot{left:34.5%;top:58.2%;width:31.5%;height:14.5%}.guide-hotspot{left:34%;top:74.1%;width:16.2%;height:8.5%}.settings-hotspot{left:50.8%;top:74.1%;width:15.2%;height:8.5%}.title-ranking{position:absolute;z-index:3;left:2.5%;top:54%;width:min(260px,21vw);padding:clamp(8px,1vw,14px);border:3px solid #ffe778;border-radius:18px;background:#06354cdd;color:#fff;text-shadow:0 2px #001c2b;box-shadow:0 5px 0 #05283a}.title-ranking strong{display:block;text-align:center;color:#fff2a5;font-size:clamp(16px,1.8vw,24px)}.title-ranking ol{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}.title-ranking li{display:flex;justify-content:space-between;gap:8px;font-size:clamp(14px,1.45vw,19px);font-weight:900}.title-ranking li b{color:#ffe778}.title-ranking li span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel-screen{min-height:100svh;background:radial-gradient(circle at 50% 0,#16aec1 0,#08758e 24%,#06364f 70%);padding-bottom:calc(28px + env(safe-area-inset-bottom));color:var(--white)}.screen-header{height:clamp(70px,10svh,96px);display:grid;grid-template-columns:minmax(110px,1fr) 3fr minmax(110px,1fr);align-items:center;padding:10px clamp(14px,3vw,40px);background:#052e45cc;border-bottom:3px solid #ffd75e}.screen-header h1{margin:0;text-align:center;color:#ffd75e;font-size:clamp(28px,4.2vw,52px);text-shadow:0 3px #052c39}.screen-header button{justify-self:start;min-height:48px;padding:8px 18px;border:2px solid #fff;border-radius:18px;background:#fff;color:var(--green);font-weight:900;font-size:clamp(16px,2vw,22px)}.guide-grid{width:min(1120px,94vw);margin:clamp(20px,4svh,48px) auto 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,24px)}.guide-grid article,.settings-card{background:var(--cream);color:var(--ink);border:4px solid #ffd75e;border-radius:28px;box-shadow:0 12px 0 #032b42;padding:clamp(16px,2.5vw,28px);text-align:center}.move-icon{width:clamp(62px,8vw,94px);height:clamp(62px,8vw,94px);margin:auto;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fff6bd,#ffc84b);border:4px solid #0d6270;color:#10434e;font-size:clamp(20px,2.7vw,32px);font-weight:1000}.guide-grid h2{font-size:clamp(24px,3vw,38px);margin:7px 0;color:#075c73}.guide-grid p{font-size:clamp(17px,2vw,23px);line-height:1.55;margin:0;font-weight:700}.safety{width:min(1040px,92vw);margin:24px auto;display:flex;gap:18px;align-items:center;padding:15px 24px;border:3px solid #ffd75e;border-radius:22px;background:#fff6d9;color:#173d43;font-size:clamp(16px,1.8vw,21px)}.safety strong{white-space:nowrap;color:#a5411b}.safety span{font-weight:700}.primary,.secondary,.text-button{min-height:54px;border-radius:20px;padding:10px 24px;font-weight:900;font-size:clamp(18px,2.3vw,27px)}.primary{border:4px solid #fff;background:linear-gradient(#ffe978,#ffc927);color:#12473f;box-shadow:0 7px 0 #b06d00}.primary:active{transform:translateY(5px);box-shadow:0 2px 0 #b06d00}.primary:disabled,.secondary:disabled{opacity:.48;cursor:not-allowed}.secondary{border:3px solid #0a6675;background:#fffaf0;color:#0a5363;box-shadow:0 5px 0 #0a5363}.text-button{border:0;background:transparent;color:#fff;text-decoration:underline}.bottom-action{display:block;margin:28px auto 0;min-width:min(420px,88vw)}.settings-card{width:min(1050px,94vw);margin:24px auto;text-align:left}.settings-card fieldset{border:0;border-bottom:2px solid #b4cec6;padding:13px 0 20px;margin:0}.settings-card legend{font-size:clamp(19px,2.1vw,27px);font-weight:900;color:#104b4a;margin-bottom:8px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choices.two{grid-template-columns:1fr 1fr}.choice{min-height:58px;border:3px solid #317576;border-radius:17px;background:#fff;color:#123e45;font-size:clamp(17px,1.8vw,22px);font-weight:900;padding:9px}.choice.selected{background:#ffd75e;border-color:#0a453e;box-shadow:inset 0 -5px #ef9e25}.photo-choice{display:flex;align-items:center;gap:18px}.face-preview{width:104px;aspect-ratio:1;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:4px dashed #4e8d8e;border-radius:50%;background:#dff8ef;color:#28575b;text-align:center;font-size:16px;font-weight:900;line-height:1.2}.face-preview.has-photo{border-style:solid;border-color:#ffc927;box-shadow:0 4px 0 #b87910}.face-preview img{width:100%;height:100%;object-fit:cover}.photo-copy{display:grid;gap:8px}.photo-clear,.photo-picker{width:max-content;min-height:48px;padding:9px 18px;border:3px solid #0a6675;border-radius:16px;background:#fff;color:#0a5363;font-weight:900;font-size:clamp(16px,1.8vw,20px);box-shadow:0 4px 0 #0a5363;cursor:pointer}.photo-picker{background:#dff8ef}.photo-clear{border-color:#a33d3b;color:#862e2d;box-shadow:0 4px 0 #862e2d}.photo-copy p{max-width:700px;margin:0;color:#315c60;font-size:clamp(14px,1.55vw,18px);font-weight:700;line-height:1.45}.face-capture{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:18px;background:#001d2dd9}.face-capture-card{width:min(620px,94vw);padding:clamp(18px,3vw,30px);border:5px solid #ffd75e;border-radius:28px;background:#f2ebda;color:#153f42;text-align:center;box-shadow:0 14px 0 #052b3b}.face-capture-card h2{margin:0 0 15px;font-size:clamp(27px,4vw,42px)}.face-camera-view{position:relative;overflow:hidden;aspect-ratio:4/3;border:5px solid #143f47;border-radius:22px;background:#071d28}.face-camera-view video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.face-camera-view i{position:absolute;left:50%;top:50%;width:34%;height:54%;transform:translate(-50%,-50%);border:5px solid #ffe76b;border-radius:50%;box-shadow:0 0 0 999px #001b2b55;pointer-events:none}.face-capture-card p{margin:12px 0;font-size:17px;font-weight:800}.face-capture-card>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:12px}.face-capture-card button{min-height:54px}.camera-layout{width:min(1180px,95vw);margin:22px auto;display:grid;grid-template-columns:1.35fr 1fr;gap:25px;align-items:center}.camera-box{position:relative;overflow:hidden;aspect-ratio:4/3;border:5px solid #ffd75e;border-radius:26px;background:#071d28;box-shadow:0 12px 0 #032334}.camera-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.body-guide{position:absolute;inset:8% 25%;pointer-events:none;opacity:.68}.body-guide .head{left:38%;top:0;width:24%;aspect-ratio:1}.body-guide .body,.body-guide .head{position:absolute;border:5px solid #fff;border-radius:50%}.body-guide .body{left:25%;top:23%;width:50%;height:62%}.body-guide .arm{position:absolute;top:30%;width:5px;height:55%;background:#fff;transform-origin:top}.body-guide .arm.left{left:25%;transform:rotate(30deg)}.body-guide .arm.right{right:25%;transform:rotate(-30deg)}.camera-badge{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);white-space:nowrap;padding:8px 18px;background:#fff1d6;color:#173c42;border-radius:30px;font-weight:900}.camera-badge.ready{background:#dfff85}.camera-badge.denied,.camera-badge.error,.camera-badge.lost{background:#ffd0cb}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(90px,18vw,220px);font-weight:1000;color:#ffe55c;text-shadow:0 8px #0a454a}.camera-copy{display:flex;flex-direction:column;gap:16px}.camera-copy h2{font-size:clamp(28px,3.8vw,48px);margin:0;color:#ffd75e}.camera-copy p{margin:0;font-size:clamp(18px,2vw,24px);line-height:1.55;font-weight:700}.camera-copy small{font-size:15px;line-height:1.5}.game-screen{position:fixed;inset:0;background:#052e47;overflow:hidden}.game-canvas{position:absolute;left:0;right:0;top:clamp(66px,10svh,94px);bottom:clamp(74px,12svh,104px);width:100%;height:calc(100% - clamp(140px,22svh,198px))}.game-screen.camera-mode .game-canvas{bottom:0;height:calc(100% - clamp(66px,10svh,94px))}.hud{position:absolute;z-index:4;left:0;right:0;top:0;height:clamp(66px,10svh,94px);display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:10px;padding:7px clamp(10px,2vw,28px);background:#052638e8;color:#fff;border-bottom:3px solid #ffd75e}.hud>div{display:flex;align-items:baseline;gap:8px}.hud small{font-size:clamp(13px,1.7vw,20px);font-weight:800}.hud strong{font-size:clamp(27px,4vw,48px);color:#ffd75e}.hud .multiplier{justify-content:center;font-size:clamp(17px,2.2vw,27px);font-weight:900;color:#8ffaff}.hud .urgent strong{color:#ff83d1;animation:pulse .55s infinite alternate}.hud button{min-height:45px;border:2px solid #fff;border-radius:14px;background:#fff;color:#173f47;font-weight:900}.game-controls{position:absolute;z-index:5;bottom:0;left:0;right:0;height:clamp(74px,12svh,104px);display:grid;grid-template-columns:1fr 1.25fr 1.25fr 1fr;gap:clamp(5px,1vw,12px);padding:8px clamp(8px,2vw,25px) calc(8px + env(safe-area-inset-bottom));background:#052638;border-top:3px solid #ffd75e}.game-controls button{min-height:54px;border:3px solid #fff;border-radius:18px;background:#18aebe;color:#fff;font-weight:1000;font-size:clamp(17px,2.4vw,29px);box-shadow:inset 0 -6px #087183}.game-controls .punch{background:#ef5d54;box-shadow:inset 0 -6px #9d2825}.game-controls .kick{background:#ffc929;color:#173e3f;box-shadow:inset 0 -6px #d88700}.camera-play-status{position:absolute;z-index:6;left:50%;bottom:14px;transform:translateX(-50%);width:max-content;max-width:94vw;padding:9px 20px;border:2px solid #fff3a1;border-radius:999px;background:#052638dc;color:#fff;font-size:clamp(14px,1.8vw,21px);font-weight:900;text-align:center;box-shadow:0 4px 14px #00182499}.camera-play-status.denied,.camera-play-status.error,.camera-play-status.lost{background:#9d312fe8}.boss-hud{position:absolute;z-index:6;top:calc(clamp(66px,10svh,94px) + 8px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:min(620px,76vw);padding:7px 16px;border:3px solid #ffe876;border-radius:18px;background:#171140dd;color:#fff}.boss-hud strong{white-space:nowrap;font-size:clamp(16px,2vw,24px);color:#ffe876}.boss-hud span{height:18px;flex:1 1;overflow:hidden;border:2px solid #fff;border-radius:99px;background:#2f274f}.boss-hud i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff5478,#ffb84e,#fff36a);transition:width .12s}.pause-card{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,88vw);padding:28px;display:grid;gap:18px;background:#f2ebda;border:5px solid #ffd75e;border-radius:28px;text-align:center;box-shadow:0 0 0 100vmax #001d2dbb}.result-screen{min-height:100svh;display:grid;place-items:center;padding:18px;background:radial-gradient(circle,#11acc0,#063c59 65%);color:#173b43}.result-card{width:min(760px,94vw);padding:clamp(28px,5vw,56px);border:6px solid #ffd75e;border-radius:35px;background:#f2ebda;text-align:center;box-shadow:0 16px 0 #03283d}.result-card h1{font-size:clamp(36px,6vw,70px);margin:0;color:#07596c}.final-score{display:block;margin:28px 0 42px;font-size:clamp(90px,18vw,190px);line-height:1;color:#ed5a4d;text-shadow:0 5px #fff}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px}@keyframes pulse{to{transform:scale(1.13)}}@media(max-width:720px){.screen-header{grid-template-columns:92px 1fr 92px}.screen-header button{padding:6px 10px;font-size:14px}.guide-grid{grid-template-columns:1fr;margin-top:14px}.guide-grid article{display:grid;grid-template-columns:74px 1fr;align-items:center;text-align:left}.guide-grid .move-icon{grid-row:1/3}.guide-grid h2{margin:0}.safety{display:block}.safety strong{display:block;margin-bottom:8px}.camera-layout,.choices,.choices.two{grid-template-columns:1fr}.camera-layout{margin-top:14px}.camera-box{max-height:45svh;margin:auto}.camera-copy{gap:9px}.camera-copy h2{font-size:26px}.camera-copy p{font-size:16px}.hud{grid-template-columns:1fr 1fr auto;height:70px}.hud .multiplier{position:absolute;left:50%;top:48px;transform:translateX(-50%);padding:2px 10px;border-radius:15px;background:#072839}.hud button{font-size:0;width:47px}.hud button:after{content:"Ⅱ";font-size:24px}.game-canvas{top:70px;bottom:86px;height:calc(100% - 156px)}.game-screen.camera-mode .game-canvas{bottom:0;height:calc(100% - 70px)}.camera-play-status{bottom:8px;border-radius:18px;line-height:1.35}.boss-hud{top:78px;width:88vw}.game-controls{height:86px;grid-template-columns:.75fr 1.2fr 1.2fr .75fr;padding:6px}.game-controls button{font-size:16px;padding:3px}.result-card{padding:28px 13px;border-width:4px;border-radius:23px;box-shadow:none}.result-card h1{font-size:36px}.final-score{font-size:86px;margin:24px 0 36px}.result-actions{gap:8px}.result-actions .primary,.result-actions .secondary{min-height:48px;padding:5px 8px;font-size:17px}}@media(max-height:650px) and (orientation:landscape){.screen-header{height:56px}.settings-card{margin:10px auto;padding:10px}.settings-card fieldset{padding:5px 0}.choice{min-height:42px}.bottom-action,.guide-grid{margin-top:12px}.guide-grid article{padding:10px}.move-icon{width:48px;height:48px;font-size:15px}.guide-grid h2{font-size:23px}.guide-grid p{font-size:15px}.camera-layout,.safety{margin:10px auto}.camera-copy{gap:8px}.camera-copy h2{font-size:27px}.camera-copy p{font-size:16px}.camera-copy .primary,.camera-copy .secondary{min-height:42px;font-size:16px}}@media(max-aspect-ratio:3/4){.start-hotspot{left:16%;top:73.5%;width:68%;height:10.5%}.guide-hotspot{left:15%;top:83.6%;width:34%;height:8%}.settings-hotspot{left:51%;top:83.6%;width:34%;height:8%}.title-ranking{left:10%;top:54%;width:80%;padding:8px 14px}.title-ranking ol{grid-template-columns:repeat(3,1fr);gap:5px}.title-ranking li{display:grid;text-align:center;gap:1px}.photo-choice{align-items:flex-start}.face-capture-card{padding:18px 14px}}.pose-guide-live{position:absolute;inset:0;pointer-events:none;z-index:2}.camera-center-line{position:absolute;z-index:1;left:50%;top:0;bottom:0;border-left:3px dashed #fff7a5aa}.camera-directions{position:absolute;z-index:3;left:8px;right:8px;bottom:46px;display:flex;justify-content:space-between;color:#fff;font-weight:1000;font-size:clamp(13px,1.8vw,18px);text-shadow:0 2px 3px #003548}.shoulder-line{position:absolute;z-index:3;height:5px;transform-origin:left center;background:#54caff;border-radius:99px;box-shadow:0 0 8px #fff}.pose-point{position:absolute;z-index:4;width:18px;height:18px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;box-shadow:0 1px 5px #063948}.pose-point.shoulder-left,.pose-point.shoulder-right{background:#44c9ff}.pose-point.hand-left,.pose-point.hand-right{background:#ffe25a}.pose-point.foot-left,.pose-point.foot-right,.pose-point.knee-left,.pose-point.knee-right{background:#ff72a3}.shoulder-center-label{position:absolute;z-index:5;transform:translate(-50%,-150%);padding:3px 8px;border-radius:99px;background:#073b54d9;color:#fff;font-size:13px;font-weight:1000;white-space:nowrap}.camera-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.camera-checks span{padding:8px 4px;border:2px solid #d6e8df;border-radius:12px;background:#fff;color:#31505a;text-align:center;font-weight:900}.camera-checks .ok{border-color:#2b865c;background:#e0ffc9;color:#13502f}.camera-horizontal-line{position:absolute;z-index:1;left:0;right:0;top:55%;border-top:3px dashed #fff7a5aa}.camera-quadrant-label{position:absolute;z-index:2;padding:4px 9px;border-radius:999px;background:#073b54b8;color:#fff;font-size:clamp(11px,1.15vw,16px);font-weight:1000;text-shadow:0 2px #052638}.camera-quadrant-label.upper-left{left:3%;top:3%}.camera-quadrant-label.upper-right{right:3%;top:3%}.camera-quadrant-label.lower-left{left:3%;top:59%}.camera-quadrant-label.lower-right{right:3%;top:59%}.camera-response{display:grid;gap:7px;padding:12px 16px;border:3px solid #ffd75e;border-radius:18px;background:#fff8d9;color:#12464a}.camera-response>div{display:flex;justify-content:space-between;font-size:18px}.camera-response>span{position:relative;height:18px;border:3px solid #174f54;border-radius:999px;background:linear-gradient(90deg,#65bce8 0 33%,#fff09c 33% 66%,#f47d57 66%)}.camera-response i{position:absolute;top:50%;width:28px;height:28px;transform:translate(-50%,-50%);border:4px solid #794005;border-radius:50%;background:#ff9b35;box-shadow:0 2px 5px #5d3e2599}.camera-response strong{text-align:center;font-size:16px}.camera-game-monitor{position:absolute;z-index:8;right:12px;top:calc(clamp(66px,10svh,94px) + 12px);width:clamp(130px,18vw,210px);aspect-ratio:4/3;overflow:hidden;border:3px solid #ffd75e;border-radius:16px;background:#071d28;box-shadow:0 5px 16px #00182499;pointer-events:none}.camera-game-monitor .camera-video{display:block}.camera-game-monitor>b{position:absolute;z-index:7;left:7px;top:6px;padding:3px 7px;border-radius:999px;background:#052638d9;color:#fff;font-size:11px}.camera-game-monitor .camera-directions{bottom:7px;font-size:10px}.camera-game-monitor .shoulder-center-label{display:none}.camera-game-monitor .pose-point{width:11px;height:11px;border-width:2px}.camera-game-monitor .shoulder-line{height:3px}.camera-game-monitor .camera-center-line{border-left-width:2px}@media(max-width:720px){.camera-game-monitor{right:7px;top:78px;width:112px;border-radius:12px}.camera-game-monitor>b{font-size:9px}.camera-game-monitor .camera-directions{display:none}}.camera-game-monitor{display:none!important}.block-camera-screen{min-height:100svh;padding:clamp(18px,2.5svh,34px) 0 calc(18px + env(safe-area-inset-bottom));overflow:auto;background:radial-gradient(circle at 50% -20%,#376f60 0,#255949 42%,#173f36 100%);color:#fff8df}.block-camera-screen h1{margin:0;text-align:center;color:#fff0bf;font-size:clamp(34px,4.5vw,70px);line-height:1.15;text-shadow:0 4px 0 #173a32}.block-camera-screen .camera-layout{width:min(1720px,94vw);margin:clamp(24px,4svh,58px) auto 0;grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr);gap:clamp(38px,5vw,90px);align-items:center}.block-camera-screen .camera-box{aspect-ratio:4/3;border:8px solid #fff4d5;border-radius:42px;background:#173a32;box-shadow:0 0 0 4px #8fb7a6,0 13px 0 #143b33}.block-camera-screen .camera-video{display:block}.block-camera-screen .camera-center-line{border-left:5px dashed #fffdf0}.block-camera-screen .camera-horizontal-line{top:55%;border-top:5px dashed #fffdf0}.block-camera-screen .shoulder-line{height:7px;background:#ffd33f;box-shadow:0 2px 5px #734e00}.block-camera-screen .pose-point.shoulder-left,.block-camera-screen .pose-point.shoulder-right{width:36px;height:36px;border:5px solid #fff;background:#ff963d;box-shadow:0 2px 7px #5d3d1c}.block-camera-screen .shoulder-center-label{transform:translate(-50%,65%);padding:7px 17px;border:4px solid #fff;border-radius:999px;background:#ec6b37;color:#fff;font-size:clamp(14px,1.4vw,22px);box-shadow:0 3px 7px #153a30aa}.block-camera-screen .camera-badge{bottom:16px;padding:10px 22px;background:#173f36dc;color:#fff;border:0;font-size:clamp(14px,1.3vw,21px);box-shadow:0 3px 8px #0e2a24aa}.block-camera-screen .camera-badge.ready{background:#173f36dc}.block-camera-screen .camera-badge.denied,.block-camera-screen .camera-badge.error,.block-camera-screen .camera-badge.lost{background:#9d312fe8}.block-camera-screen .camera-copy{gap:clamp(20px,2.6svh,34px)}.camera-instructions{margin:0;text-align:center;color:#f4fff8;font-size:clamp(23px,2.4vw,37px);font-weight:900;line-height:1.65;text-shadow:0 3px #163c34}.block-camera-screen .camera-response{gap:clamp(14px,2svh,23px);padding:clamp(24px,3vw,44px);border:7px solid #d6a33c;border-radius:42px;background:linear-gradient(#fffdf4,#ffedb3);box-shadow:0 12px 0 #173d35;color:#123f36}.block-camera-screen .camera-response>div{font-size:clamp(24px,2.5vw,40px)}.block-camera-screen .camera-response>span{height:clamp(36px,4vw,56px);border:5px solid #194f46;background:linear-gradient(90deg,#65b5e7 0 34%,#fff0a0 34% 66%,#f17b5c 66%)}.block-camera-screen .camera-response i{width:clamp(45px,4.5vw,66px);height:clamp(45px,4.5vw,66px);border:7px solid #8a4807;background:#ff963d;transition:left .08s linear}.block-camera-screen .camera-response strong{font-size:clamp(22px,2.1vw,34px);line-height:1.35}.attack-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attack-checks>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 10px;padding:11px 14px;border:3px solid #d6a33c;border-radius:18px;background:#fff8df;color:#153f37;box-shadow:0 5px 0 #143b33;transition:transform .12s,background .12s}.attack-checks strong{font-size:clamp(17px,1.5vw,23px)}.attack-checks b{grid-column:1/3;text-align:center;font-size:clamp(13px,1.15vw,17px)}.attack-checks span{height:16px;overflow:hidden;border:2px solid #15483f;border-radius:99px;background:#d7e2d6}.attack-checks i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#63d89c,#ffd64f,#f37a58);transition:width .08s linear}.attack-checks>div.detected{transform:scale(1.035);background:#fff09a;box-shadow:0 5px 0 #143b33,0 0 22px #ffe66b}.attack-checks>div.detected b,.attack-checks>div.detected strong{color:#a23d18}.camera-action-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.block-camera-screen .secondary{min-height:clamp(62px,7svh,86px);border:3px solid #153f37;border-radius:24px;background:#fff8e7;color:#123d36;box-shadow:0 6px 0 #112f29;font-size:clamp(20px,2vw,30px)}.block-camera-screen .camera-start{width:100%;min-height:clamp(68px,8svh,96px);border:4px solid #153f37;border-radius:24px;background:#ffd55c;color:#123d36;box-shadow:0 7px 0 #112f29;font-size:clamp(23px,2.3vw,35px)}.block-camera-screen .countdown{background:#163e3477;color:#fff0a6;text-shadow:0 7px #12372f}.camera-footer{margin:clamp(24px,3.5svh,50px) auto 0;text-align:center;color:#f7fffb;font-size:clamp(17px,1.6vw,25px);font-weight:900}@media(max-width:980px){.block-camera-screen .camera-layout{grid-template-columns:1fr;width:min(760px,94vw);gap:24px}.block-camera-screen .camera-box{max-height:none;width:100%}.camera-instructions{font-size:clamp(19px,4vw,28px)}.block-camera-screen .camera-copy{gap:16px}.camera-footer{margin-top:24px}}@media(max-width:560px){.block-camera-screen{padding-top:13px}.block-camera-screen h1{font-size:31px}.block-camera-screen .camera-layout{margin-top:16px}.block-camera-screen .camera-box{border-width:5px;border-radius:25px}.block-camera-screen .pose-point.shoulder-left,.block-camera-screen .pose-point.shoulder-right{width:25px;height:25px;border-width:3px}.block-camera-screen .camera-center-line{border-left-width:3px}.block-camera-screen .shoulder-line{height:4px}.block-camera-screen .shoulder-center-label{padding:4px 9px;border-width:2px;font-size:12px}.block-camera-screen .camera-badge{bottom:7px;padding:6px 10px;font-size:12px}.block-camera-screen .camera-response{padding:19px;border-width:5px;border-radius:27px}.attack-checks{grid-template-columns:1fr}.camera-action-row{gap:9px}.block-camera-screen .secondary{padding:7px;font-size:17px}.camera-footer{padding:0 14px}}.hotspot:focus-visible,.hotspot:hover{box-shadow:none}.hotspot:focus-visible span{outline:4px solid #fff;outline-offset:2px}.ranking-hotspot{position:absolute;z-index:4;left:4%;bottom:11%;min-width:clamp(150px,16vw,240px);min-height:clamp(54px,6vw,78px);padding:10px 22px;border:4px solid #0a4152;border-radius:999px;background:linear-gradient(#fffdf1,#ffe27c);box-shadow:0 6px 0 #0a4152;color:#123c49;font-size:clamp(19px,2.2vw,31px);font-weight:1000;text-shadow:0 1px #fff;cursor:pointer}.ranking-hotspot:focus-visible,.ranking-hotspot:hover{transform:translateY(-2px);box-shadow:0 8px 0 #0a4152,0 0 0 4px #fff}.ranking-hotspot:active{transform:translateY(4px);box-shadow:0 2px 0 #0a4152}.face-preview img{object-position:center;transform-origin:center;transition:transform .15s}.face-adjust{display:grid;gap:9px;margin-top:14px;padding:13px;border:3px solid #76a9a5;border-radius:17px;background:#effaf3;color:#174a4d}.face-adjust>strong{font-size:18px}.face-adjust-row{display:flex;align-items:center;gap:10px}.face-adjust-row button,.face-pad button{min-height:44px;border:2px solid #0b6670;border-radius:12px;background:#fff;color:#124b54;font-size:16px;font-weight:900;box-shadow:0 3px 0 #0b6670;cursor:pointer}.face-adjust-row button{padding:7px 13px}.face-adjust-row output{min-width:64px;text-align:center;font-size:20px;font-weight:1000}.face-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:420px}.face-pad button{padding:5px}.face-pad .face-reset{border-color:#bb7d20;background:#fff1bf;color:#6d4313;box-shadow:0 3px 0 #bb7d20;font-size:14px}.ranking-screen{min-height:100svh;padding:clamp(18px,3vw,42px);background:linear-gradient(145deg,#6ccbe9,#dff4f5 34%,#a5d96a);color:#233d51}.ranking-screen:before{position:fixed;z-index:0;inset:20px;border:4px solid #e5b84f;border-radius:clamp(30px,4vw,64px);background:#fffdf6;box-shadow:0 0 0 10px #fffdf6;content:""}.ranking-screen>*{position:relative;z-index:1}.ranking-screen .screen-header{height:auto;max-width:1160px;margin:auto;padding:0;background:transparent;border:0}.ranking-screen .screen-header h1{color:#233d51;font-size:clamp(34px,5vw,64px);text-shadow:none}.ranking-screen .screen-header button{border:3px solid #7ba08a;border-radius:24px;background:#f6fff0;color:#34664d;box-shadow:none}.ranking-lead{margin:14px auto 28px;text-align:center;color:#397a56;font-size:clamp(22px,3vw,40px);font-weight:1000}.ranking-list{display:grid;gap:18px;width:min(1080px,94vw);margin:auto}.ranking-row{display:grid;grid-template-columns:100px minmax(150px,1fr) minmax(180px,.9fr) 120px;align-items:center;gap:clamp(12px,2.5vw,36px);min-height:140px;padding:16px 24px;border:5px solid #aab5bb;border-radius:30px;background:#f8fbfb;box-shadow:0 8px 0 #9ca8ad}.ranking-row.place-1{border-color:#d8901b;background:#fff2b6;box-shadow:0 8px 0 #bc7213}.ranking-row.place-3{border-color:#be7d48;background:#fff0e6;box-shadow:0 8px 0 #a56235}.place-number{display:grid;place-items:center;width:76px;height:76px;border:6px solid #f1b942;border-radius:50%;background:#ffe88a;color:#5b3b18;font-size:44px}.ranking-row>strong{color:#dc5624;font-size:clamp(48px,7vw,92px);line-height:.9;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ranking-row>strong small{margin-left:8px;color:#5b3b18;font-size:clamp(21px,3vw,38px)}.ranking-row p{margin:0;color:#397a56;font-size:clamp(19px,2.4vw,32px);font-weight:900}.ranking-face{position:relative;width:108px;aspect-ratio:1;overflow:hidden;border:6px solid #8ab092;border-radius:50%;background:#e8f2d9;box-shadow:0 0 0 7px #fff;isolation:isolate}.ranking-row.place-1 .ranking-face{border-color:#efb636}.ranking-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center}.ranking-face span,.ranking-face.empty{display:grid;place-items:center;color:#f2ad28;font-size:56px}.ranking-note{width:min(900px,90vw);margin:28px auto 16px;padding:16px;border-radius:18px;background:#e8f3e4;color:#29495f;text-align:center;font-size:clamp(17px,2vw,25px);font-weight:900}.ranking-actions{display:grid;justify-items:center;gap:16px}.ranking-actions .primary{min-width:min(560px,90vw);font-size:clamp(25px,3vw,42px)}.ranking-clear{color:#873a33;border-color:#b75248}@media(max-aspect-ratio:3/4){.ranking-hotspot{left:50%;bottom:5%;transform:translateX(-50%);min-width:58vw}.ranking-hotspot:focus-visible,.ranking-hotspot:hover{transform:translateX(-50%) translateY(-2px)}.ranking-hotspot:active{transform:translateX(-50%) translateY(4px)}}@media(max-width:680px){.ranking-screen{padding:14px 10px 26px}.ranking-screen:before{inset:10px;border-width:3px}.ranking-screen .screen-header{grid-template-columns:1fr}.ranking-screen .screen-header h1{font-size:34px}.ranking-lead{margin:10px auto 16px;font-size:21px}.ranking-list{gap:11px}.ranking-row{grid-template-columns:48px minmax(90px,1fr) 74px;gap:8px;min-height:92px;padding:10px;border-width:3px;border-radius:20px;box-shadow:0 5px 0 #9ca8ad}.ranking-row p{grid-column:2;grid-row:2;font-size:15px}.place-number{width:43px;height:43px;border-width:4px;font-size:26px}.ranking-row>strong{font-size:43px}.ranking-row>strong small{margin-left:3px;font-size:18px}.ranking-face{grid-column:3;grid-row:1/span 2;width:62px;border-width:4px;box-shadow:0 0 0 4px #fff}.ranking-note{margin:18px auto 12px;padding:12px;font-size:15px}.face-adjust-row{flex-wrap:wrap}.face-pad{max-width:none}}.face-adjust{width:min(440px,100%);justify-items:center;margin:16px auto 0;padding:16px}.face-adjust>strong{text-align:center}.face-drag{position:relative;width:clamp(190px,30vw,260px);aspect-ratio:1;overflow:hidden;border:5px solid #ffc927;border-radius:50%;background:#dff8ef;box-shadow:0 5px 0 #b87910;touch-action:none;cursor:grab}.face-drag:active{cursor:grabbing}.face-drag img{inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center}.face-drag img,.face-drag span{position:absolute;pointer-events:none}.face-drag span{z-index:1;left:50%;bottom:10px;transform:translateX(-50%);padding:5px 10px;border-radius:99px;background:#073b54d9;color:#fff;font-size:14px;font-weight:900;white-space:nowrap}.face-zoom{display:grid;grid-template-columns:auto minmax(130px,1fr) auto;align-items:center;width:min(380px,100%);gap:10px;color:#174a4d;font-size:18px;font-weight:900}.face-zoom input{width:100%;accent-color:#0b7b81}.face-zoom output{min-width:52px;text-align:right;font-size:20px}.face-adjust .face-reset{min-height:44px;padding:7px 16px;border:2px solid #bb7d20;border-radius:12px;background:#fff1bf;color:#6d4313;box-shadow:0 3px 0 #bb7d20;font-size:16px;font-weight:900;cursor:pointer}.ranking-hotspot{left:41%;top:83%;bottom:auto;width:18%;min-width:180px;min-height:50px;padding:7px 16px;font-size:clamp(18px,2vw,28px)}@media(max-aspect-ratio:3/4){.ranking-hotspot{left:50%;top:92.5%;bottom:auto;min-width:58vw;min-height:44px}.ranking-hotspot:focus-visible,.ranking-hotspot:hover{transform:translateX(-50%) translateY(-2px)}.ranking-hotspot:active{transform:translateX(-50%) translateY(4px)}}
body::after{content:"無料体験版";position:fixed;right:10px;top:10px;z-index:999999;padding:5px 12px;border-radius:999px;background:#fff1a6;color:#4a2d13;border:2px solid #a3601a;font:900 16px/1.3 sans-serif;pointer-events:none;box-shadow:0 2px 5px #0004}
