.huz-has{position:relative!important;cursor:zoom-in}
.huz-has img{cursor:zoom-in}
.huz-badge{position:absolute;right:10px;bottom:10px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:5px 11px 5px 9px;border-radius:999px;background:linear-gradient(180deg,#1E80D8,#0B4E8A);color:#fff;font:700 12.5px/1 "Hiragino Sans","Noto Sans JP",sans-serif;letter-spacing:.04em;box-shadow:0 3px 10px rgba(11,40,80,.35),inset 0 1px 0 rgba(255,255,255,.25);pointer-events:none;transition:transform .15s}
.huz-badge svg{width:13px;height:13px;flex:none}
.huz-has:hover .huz-badge{transform:scale(1.06)}
html.huz-lock,html.huz-lock body{overflow:hidden!important}
#huz{position:fixed;inset:0;z-index:2147483000;display:none;flex-direction:column;background:radial-gradient(120% 90% at 50% 40%,#16263d 0%,#0a1322 70%,#070d18 100%);color:#fff;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;-webkit-tap-highlight-color:transparent;touch-action:none;opacity:0;transition:opacity .18s}
#huz.on{display:flex}
#huz.show{opacity:1}
#huz *{box-sizing:border-box}
.huz-top{position:absolute;left:0;right:0;top:0;z-index:4;display:flex;background:linear-gradient(180deg,rgba(7,13,24,.85),rgba(7,13,24,0));transition:opacity .3s;align-items:center;gap:10px;padding:10px 12px 6px 14px;min-height:50px}
.huz-cnt{flex:none;padding:5px 10px;border-radius:8px;background:#1E80D8;font-weight:800;font-size:13px;letter-spacing:.05em;box-shadow:inset 0 -2px 0 rgba(0,0,0,.2)}
.huz-ttl{flex:1;min-width:0;font-weight:700;font-size:14.5px;line-height:1.35;color:#e9f0fa;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.huz-x{flex:none;width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.huz-x:hover{background:#D32B22}
.huz-stage{position:relative;flex:1;min-height:0;overflow:hidden}
.huz-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08)}
.huz-box.rot{transform:translate(-50%,-50%) rotate(90deg)}
.huz-img{display:block;width:100%;height:100%;max-width:none!important;margin:0!important;transform-origin:0 0;user-select:none;-webkit-user-drag:none;will-change:transform}
.huz-box.zoomed{cursor:grab}
.huz-box.drag{cursor:grabbing}
.huz-nav{position:absolute;transition:opacity .3s,background .15s;top:50%;z-index:2;width:48px;height:72px;margin-top:-36px;border:0;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:34px;line-height:1;cursor:pointer;transition:background .15s}
.huz-nav:hover{background:#1E80D8}
.huz-nav.p{left:12px}.huz-nav.n{right:12px}
.huz-nav[hidden]{display:none}
.huz-bar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;flex-direction:column;background:linear-gradient(0deg,rgba(7,13,24,.85),rgba(7,13,24,0));transition:opacity .3s;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:8px 10px calc(10px + env(safe-area-inset-bottom))}
.huz-b{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 15px;border:0;border-radius:11px;background:#24364f;color:#fff;font:700 14px/1 "Hiragino Sans","Noto Sans JP",sans-serif;text-decoration:none!important;cursor:pointer;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25);transition:background .15s,transform .1s}
.huz-b:hover{background:#2f4766;color:#fff}
.huz-b:active{transform:translateY(1px)}
.huz-b svg{width:17px;height:17px;flex:none}
.huz-b[hidden]{display:none}
.huz-b.rotb{background:#C06E00}.huz-b.rotb:hover{background:#d98000}
.huz-b.rotb.on{background:#00874F}
.huz-b.go{background:#1E80D8}.huz-b.go:hover{background:#2b8fe6}
.huz-zm{display:inline-flex;align-items:center;height:42px;border-radius:11px;background:#24364f;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25);overflow:hidden}
.huz-zm button{width:42px;height:42px;border:0;background:none;color:#fff;font:800 20px/1 sans-serif;cursor:pointer}
.huz-zm button:hover{background:#2f4766}
.huz-zm span{min-width:46px;text-align:center;font-weight:800;font-size:13.5px;color:#9fd0ff}
.huz-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:7px 14px;border-radius:999px;background:rgba(0,0,0,.6);font-size:12.5px;font-weight:600;white-space:nowrap;pointer-events:none;transition:opacity .4s}
.huz-hint.off{opacity:0}
@media (max-width:640px){
.huz-top{padding:8px 8px 4px 10px;min-height:46px}
.huz-ttl{font-size:13px}
.huz-nav{display:none}
.huz-bar{gap:6px;padding:6px 6px calc(8px + env(safe-area-inset-bottom))}
.huz-b{height:40px;padding:0 11px;font-size:13px}
.huz-b .lbl-l{display:none}
.huz-zm{height:40px}.huz-zm button{width:38px;height:40px}.huz-zm span{min-width:40px}
.huz-badge{right:6px;bottom:6px;padding:4px 9px 4px 7px;font-size:11.5px}
}
@media (orientation:landscape) and (max-height:500px){
.huz-top{min-height:0;padding:4px 8px}
.huz-ttl{-webkit-line-clamp:1;font-size:12.5px}
.huz-x{width:36px;height:36px;font-size:22px}
.huz-bar{padding:4px 6px calc(4px + env(safe-area-inset-bottom))}
.huz-b,.huz-zm{height:34px}.huz-zm button{height:34px}
}
#huz.idle .huz-top,#huz.idle .huz-bar,#huz.idle .huz-nav{opacity:0;pointer-events:none}
#huz.idle{cursor:none}
.huz-hint{bottom:72px}
.huz-btns{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.huz-strip{display:flex;gap:8px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 6px 6px;scrollbar-width:thin;scrollbar-color:#3a5272 transparent;-webkit-overflow-scrolling:touch;touch-action:pan-x}
.huz-strip[hidden]{display:none}
.huz-th{position:relative;flex:none;width:112px;height:63px;padding:0;border:2px solid rgba(255,255,255,.18);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;opacity:.62;transition:opacity .15s,border-color .15s,transform .15s}
.huz-th:hover{opacity:1;transform:translateY(-2px)}
.huz-th.cur{opacity:1;border-color:#ffb020;box-shadow:0 0 0 2px rgba(255,176,32,.35)}
.huz-th canvas{display:block;width:100%;height:100%}
.huz-th i{position:absolute;left:4px;top:4px;min-width:20px;padding:2px 5px;border-radius:5px;background:rgba(14,36,56,.88);color:#fff;font:800 11px/1.1 sans-serif;font-style:normal;text-align:center}
.huz-th.cur i{background:#ffb020;color:#14213d}
.huz-b.fs.on{background:#00874F}
.huz-hint{bottom:auto;top:62px}
@media (max-width:640px){.huz-th{width:76px;height:43px}.huz-strip{gap:6px}}
@media (orientation:landscape) and (max-height:500px){.huz-th{width:72px;height:40px}}
#huz button:focus:not(:focus-visible),#huz a:focus:not(:focus-visible){outline:none}
